redistemplate說白了就是乙個封裝好的工具類,裡面提供了許多操作redis資料庫的方法,對於多種資料型別都提供了支援。
初學redistemplate時不知道你是不是和我有相同的疑問,看別人寫的**時發現在使用時為什麼不是直接用redistemplate.set(key,value)
而是要redistemplate.opsforvalue().set(key,value)
這是因為redistemplate中對同一型別資料的操作進行了封裝,所以在使用時你要先選擇你要操作哪一種資料型別,如下圖所示包含hash、list、set、value等多種資料型別,然後再選擇你需要進行的操作(如新增刪除等)。
opsfor…代表著你要選擇對哪一型別資料進行操作
如opsforlist()裡就是關於list資料型別的相關操作
opsforvalue()裡就是關於key-value型別的相關操作
//向key為user的集合中新增元素,可以一次新增多個
redistemplate.
opsforset()
.add
("user"
,"user1"
,"user2"
,"user3");
//獲取user集合中元素的個數
long size = redistemplate.
opsforset()
.size
("user");
//獲取user集合
set userset = redistemplate.
opsforset()
.members
("user");
//刪除user集合中的user1元素
redistemplate.
opsforset()
.remove
("user"
,"user1");
//判斷user集合中是否存在user1元素,返回true/false
redistemplate.
opsforset()
.ismember
("user"
,"user1"
)
2.2 boundsetops()
其實就是例項化乙個物件去繫結乙個set集合,其他的操作都是類似的
//建立乙個物件與user這個集合繫結,user這個集合如果不存在就會建立出來
boundsetoperations ops = redistemplate.
boundsetops
("user");
//之後再需要做新增刪除等操作時直接用物件就可以了
ops.
add(
"user4"
);
RedisTemplate操作Redis常用
redistemplate中定義了對5種資料結構操作 redistemplate.opsforvalue 操作字串 redistemplate.opsforhash 操作hash redistemplate.opsforlist 操作list redistemplate.opsforset 操作se...
RedisTemplate的key預設序列化器問題
redis的客戶端換成了spring boot starter data redis,碰到了乙個奇怪的問題,在同乙個方法中 1.先hset,再hget,正常獲得資料。在不同的方法中 先hset,再hget獲取不到資料,通過redis的monitor監控發現了命令的問題 實際我的key為jk hash...
RedisTemplate模板的使用(二)
在redistemplate中提供了幾個常用的介面方法的使用,分別是 private valueoperationsvalueops private listoperationslistops private setoperationssetops private zsetoperationszse...