一、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");