redistemplate事務實踐

2021-08-13 09:38:49 字數 1338 閱讀 3268

code:

public object testredismulti()  catch (interruptedexception e) 

now = (string) operations.opsforvalue().get("testredismulti");

system.out.println(now);

object rs = operations.exec();

return rs;

}});

system.out.println(o);

return o;

}

初始值:

127.0.0.1:6389> get testredismulti

"initial"

**執行:

operations.multi();

operations.opsforvalue().set("testredismulti", "0");

string now = (string) operations.opsforvalue().get("testredismulti");

system.out.println(now);

try catch (interruptedexception e)

客戶端:

127.0.0.1:6389> get testredismulti

"initial",意味著multi中的命令還未傳送

system.out輸出:

null

注意在multi中的get是娶不到值的

過5秒。。。

**執行:

now = (string) operations.opsforvalue().get("testredismulti");

system.out.println(now);

object rs = operations.exec();

return rs;

system.out輸出:

null

客戶端:

127.0.0.1:6389> get testredismulti

"0",multi命令提交後修改了值

最終輸出

[0, 0]

可以看到兩次get的值返回給了execute函式,而且是修改後的值,符合原理

隱患?!

RedisTemplate操作Redis常用

redistemplate中定義了對5種資料結構操作 redistemplate.opsforvalue 操作字串 redistemplate.opsforhash 操作hash redistemplate.opsforlist 操作list redistemplate.opsforset 操作se...

RedisTemplate快取用法小記

2 redis的引用包 org.springframework.data spring data redis 1.8.6.release 3 redistemplate裡面有如下幾種常用的形式 1 string型別 redistemplate.opsforvalue 2 list型別 rediste...

RedisTemplate 訪問Hash型別的值

為了方便閘道器統計每天 api 訪問閘道器的次數,這裡寫了乙個方法來統計,並將統計資料存入 redis 伺服器裡,方便讀取。今天講的是兩個方法,乙個是存 hashmap 的方式,另外乙個是存 hash 的方式。一 存 hash 的方式 使用的是 redistemplate.opsforhash pu...