6.Spring-data-redis操作Set类型

本文详细介绍了如何使用Spring-data-redis通过RedisTemplate和StringRedisTemplate进行Set类型的增删改查操作,涵盖了配置、API使用以及不同数据类型的操作。

文章目录:
1.RedisTemplate的API
2.Spring-data-redis配置
3.Spring-data-redis处理String类型
4.Spring-data-redis处理Hash类型
5.Spring-data-redis操作List类型
6.Spring-data-redis操作Set类型
7.Spring-data-redis操作ZSet类型
8.StringRedisTemplate

@Test
public void testSet() {
    SetOperations<String, String> opsForSet = stringRedisTemplate.opsForSet();
    // 给集合key添加多个值,集合不存在创建后再添加
    opsForSet.add("set1","s1", "s2", "s3中文", "s4", "s5", "s6");
    opsForSet.add("set2","s21", "s2", "s3中文", "s4", "s25", "s26");
    // 移除集合中多个value值
    opsForSet.remove("set1","s4", "s5");
    // 随机删除集合中的一个值,并返回。
    String set1Pop = opsForSet.pop("set1");
    System.out.println("随机移除:   " + set1Pop);
    // 把源集合中的一个元素移动到目标集合。成功返回true。
    opsForSet.move("set1", "s1", "set2");
    // 检查集合中是否包含某个元素
    Boolean member = opsForSet.isMember("set1", "s1");
    System.out.println("set1是否存在s1:   " + member);
    // 指定集合与另一个集合的交集
    Set<String> intersect = opsForSet.intersect("set1", "set2");
    System.out.println("set1和set2的交集:   " + intersect);
    // 指定集合与另外多个个集合交集
    Set<String> intersectSet = opsForSet.intersect("set1", Arrays.asList("set2", "set3", "set4"));
    // 指定集合与另一个集合的交集,并且存储到目标集合中
    opsForSet.intersectAndStore("set1", "set2", "set3");
    // 指定集合与另外多个集合中的交集保存到目标集合
    opsForSet.intersectAndStore("set1", Arrays.asList("set2", "set3", "set4"), "setStore");
    // 指定集合与另一个集合的并集 并返回并集
    Set<String> union = opsForSet.union("set1", "set2");
    System.out.println("set1和set2的并集:   " + union);
    // 指定集合与另一个集合的差集
    Set<String> difference = opsForSet.difference("set1", "set2");
    System.out.println("set1和set2的差集:   " + difference);
    // 随机获取集合中的一个元素
    String set2Random = opsForSet.randomMember("set2");
    System.out.println("set2随机一个元素:   " + set2Random);
    // 随机返回集合中指定数量的元素。随机的元素可能重复
    List<String> randomMembers = opsForSet.randomMembers("set2", 3);
    // 随机返回集合中指定数量的元素。随机的元素不会重复
    Set<String> distinctRandomMembers = opsForSet.distinctRandomMembers("set2", 3);
    // 获取集合中的所有元素
    Set<String> set1 = opsForSet.members("set1");
    System.out.println("set1所有元素:   " + set1);
    Set<String> set3 = opsForSet.members("set3");
    System.out.println("set3所有元素:   " + set3);
    // 返回结合的大小
    Long set1Size = opsForSet.size("set1");
    System.out.println("set1长度:   " + set1Size);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值