一、RedisTemplate簡介
RedisTemplate說白了就是一個封裝好的工具類,裏面提供了許多操作redis數據庫的方法,對於多種數據類型都提供了支持。
初學RedisTemplate時不知道你是不是和我有相同的疑問,看別人寫的代碼時發現在使用時爲什麼不是直接用 redisTemplate.set(key,value)
而是要redisTemplate.opsForValue().set(key,value)
這是因爲RedisTemplate中對同一類型數據的操作進行了封裝,所以在使用時你要先選擇你要操作哪一種數據類型,如下圖所示包含hash、List、Set、value等多種數據類型,然後再選擇你需要進行的操作(如添加刪除等)。
opsFor… 代表着你要選擇對哪一類型數據進行操作
如 opsForList() 裏就是關於List數據類型的相關操作
opsForValue() 裏就是關於key-value類型的相關操作
二、Set集合常用方法講解
2.1 opsForSet()
//向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");