基础配置介绍已经在前面的《RedisTemplate常用集合使用说明(一)》中已经介绍了,现在我们直接介绍boundSetOps()方法的使用:
首先要定义一个BoundSetOperations
BoundSetOperations boundSetOperations = redisTemplate.boundSetOps("bso");
批量添加值,获取所有值
//添加新值后查看所有的值 boundSetOperations.add("a","b","c"); boundSetOperations.members().forEach(v -> System.out.println("添加新值后查看所有的值:" + v));
2.scan(ScanOptions options)
匹配获取键值对,ScanOptions.NONE为获取全部键值对;ScanOptions.scanOptions().match("c").build()匹配获取键位map1的键值对,不能模糊匹配。
Cursor<String> cursor = boundSetOperations.scan(ScanOptions.NONE); while (cursor.hasNext()){ System.out.println("遍历所有值:" + cursor.next()); }
3.randomMember()
随机获取一个值
System.out.println("随机获取一个值:" + boundSetOperations.randomMember());
4.randomMembers(long count)
随机获取指定数量的值
System.out.println("随机获取指定数量的值:" + boundSetOperations.randomMembers(2));
5.distinctRandomMembers(long count)
获取唯一的随机数量值
System.out.println("获取唯一的随机数量值:" + boundSetOperations.distinctRandomMembers(2));
6.diff(Collection<K> keys)
比较多个特定键中的不同值
//这里比较的也应该是特定的集合名称,且名称不能和已经在比较的set集合中存在,否则报错 Set list = new HashSet<>(); list.add("bso1"); boundSetOperations.diff(list).forEach(v -> System.out.println("比较给定集合中的set的不同元素:" + v));
比较2个特定键中的不同值
boundSetOperations.diff("bso2").forEach(v -> System.out.println("比较给定set的不同元素:" + v));
8.diffAndStore(Collection<K> keys, K destKey)和diffAndStore(K keys, K destKey)
比较键中的不同值并存储
//比较不同集合并存储 boundSetOperations.diffAndStore("bso2","bso3"); redisTemplate.opsForSet().members("bso3").forEach(v -> System.out.println("比较不同set并存储:" + v));
9.intersect(Collection<K> keys)和intersect(K key)
比较键中的相同值
//比较给定集合中的相同值 boundSetOperations.intersect("bso2").forEach(v -> System.out.println("比较给定集合中的相同值:" + v)); boundSetOperations.intersect(list).forEach(v -> System.out.println("比较给定集合中的相同值:" + v));
10.intersectAndStore(Collection<K> keys, K destKey)和intersectAndStore(K key, K destKey)
比较键中的相同值并存储
//比较给定集合中的相同值并存储 boundSetOperations.intersectAndStore("bso3","bso4"); redisTemplate.opsForSet().members("bso4").forEach(v -> System.out.println("比较给定set的相同元素:" + v));
11.union(Collection<K> keys)和union(K key)
将特定键中的所有值合并
//将给定集合中的所有值合并 boundSetOperations.union("bso2").forEach(v -> System.out.println("将给定集合中的所有值合并:" + v)); boundSetOperations.union(list).forEach(v -> System.out.println("将给定集合中的所有值合并:" + v));
12.unionAndStore(Collection<K> keys, K destKey)和unionAndStore(K key, K destKey)
将特定键中的所有值合并并存储
boundSetOperations.unionAndStore("bso3","bso5"); redisTemplate.opsForSet().members("bso5").forEach(v -> System.out.println("将给定集合中的所有值合并:" + v));
将value值转移到特定键中
//将集合中的value值移动到另外一个集合中 boolean moveSuc = boundSetOperations.move("bso6","a"); System.out.println("将集合中的值移动到另外一个集合中是否成功:" + moveSuc); redisTemplate.opsForSet().members("bso6").forEach(v -> System.out.println("将集合中的值移动到另外一个集合中:" + v)); boundSetOperations.members().forEach(v -> System.out.println("将集合中的值移动到另外一个集合中原集合剩余的值:" + v));
14.pop()
弹出集合中的值
//弹出集合中的值 Object p = boundSetOperations.pop(); System.out.println("弹出集合中的值:" + p); boundSetOperations.members().forEach(v -> System.out.println("弹出集合中的值原集合剩余的值:" + v));
批量移除元素
//移除特定元素 long removeCount = boundSetOperations.remove("c"); System.out.println("移除特定元素个数:" + removeCount); boundSetOperations.members().forEach(v -> System.out.println("移除特定元素个数后原集合剩余的值:" + v));
相关推荐
NULL 博文链接:https://357029540.iteye.com/blog/2389154
spring boot redis RedisTemplate和ValueOperations对 string-value的操作 参照redisdoc文档的方法进行 打造 http://redisdoc.com/ 与文档中string对应 写出通用接口 与实现类 完整demo连接 //配置缓存 和序列化...
spring 封装了 RedisTemplate,JdbcTemplate 对象来进行对redis,jdbc的各种操作进行简化
RedisTemplate 的基本使用手把手教源码
如何优雅的使用Redis呢?来回实体,能智能序列化,完全不手动添加代码,优雅的一批,demo已经写好,拿出show吧
Redis之RedisTemplate使用(RedisTemplate工具类) String类型相关操作 List类型相关操作 Set类型相关操作 Map类型相关操作 ZSet类型相关操作
本篇文章主要介绍了spring整合redis以及使用RedisTemplate的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
redisTemplate封装成redisUtils和分布式锁实现,亲测可用
RedisTemplate, Object> redisTemplate(RedisConnectionFactory factory)自定义RedisTemplate配置类,是个固定模板,可以拿来直接使用,可以直接传入Key:String和Value:Object这种类型,注意Object类需要实现序列化...
主要介绍了通过RedisTemplate连接多个Redis过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
包含SSM+redisTemplate+shiro
Redis+RedisTemplate分布式锁
详细介绍RedisTemplate5种数据结构,并且有每种不同数据结构的用法的例子
redis client, 用下看看吧.
SpringBoot,注解实现Redis 库的切换。
RedisTemplate具体操作
主要给大家介绍了关于Spring学习笔记之RedisTemplate配置与使用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用spring具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
分布式缓存RedisTemplate取不到数据的问题(csdn)————程序
基于spring和redis的redisTemplate工具类 针对所有的hash 都是以h开头的方法 针对所有的Set 都是以s开头的方法 针对所有的List 都是以l开头的方法