java redis set list_RedisTemplate的各种操作(set、hash、list、string)_lichuangcsdn的博客-CSDN博客...

注入以下RedisTemplate@Autowiredprivate RedisTemplate redisTemplate;

1、保存和读取Set:

代码示例:SetOperations set = redisTemplate.opsForSet(); set.add("set1","22"); set.add("set1","33"); set.add("set1","44"); Set resultSet =redisTemplate.opsForSet().members("set1"); System.out.println("resultSet:"+resultSet);

运行结果为:

resultSet:[[set3, set2, set1]]  jedis

2、Hash结构,保存和读取map:

示例代码:Map map=new HashMap(); map.put("key1","value1"); map.put("key2","value2"); map.put("key3","value3"); map.put("key4","value4"); map.put("key5","value5"); redisTemplate.opsForHash().putAll("map1",map); Map resultMap= redisTemplate.opsForHash().entries("map1"); ListreslutMapList=redisTemplate.opsForHash().values("map1"); SetresultMapSet=redisTemplate.opsForHash().keys("map1"); String value=(String)redisTemplate.opsForHash().get("map1","key1"); System.out.println("value:"+value); System.out.println("resultMapSet:"+resultMapSet); System.out.println("resultMap:"+resultMap); System.out.println("resulreslutMapListtMap:"+reslutMapList);

运行结果为:

value:value1

resultMapSet:[key1, key2, key5, key3, key4]

resultMap:{key3=value3, key2=value2, key1=value1, key5=value5, key4=value4}

resulreslutMapListtMap:[value1, value2, value5, value3, value4]

3、保存和读取list

示例代码:List list1=new ArrayList(); list1.add("a1"); list1.add("a2"); list1.add("a3"); List list2=new ArrayList(); list2.add("b1"); list2.add("b2"); list2.add("b3"); redisTemplate.opsForList().leftPush("listkey1",list1); redisTemplate.opsForList().rightPush("listkey2",list2); List resultList1=(List)redisTemplate.opsForList().leftPop("listkey1"); List resultList2=(List)redisTemplate.opsForList().rightPop("listkey2"); System.out.println("resultList1:"+resultList1); System.out.println("resultList2:"+resultList2);

运行结果:

resultList1:[a1, a2, a3]

resultList2:[b1, b2, b3]

这里需要解释一下:不管是leftPush还是rightPush都可以用leftPop或者rightPoP任意一种获取到其中的值,不过就是获取的遍历方向不一样。有学过数据结构的人都知道里面循环链表是可以前后遍历的,就和这里的场景是一样的。如果还有不懂的话可以去看看这部分的源代码,其实就是遍历方向不同,所以效率也不同。所以最好leftPush用leftPoP遍历,rightPush用rightPoP遍历

4、保存和读取String(最常用的)System.out.println("缓存正在设置。。。。。。。。。"); redisTemplate.opsForValue().set("key1","value1"); redisTemplate.opsForValue().set("key2","value2"); redisTemplate.opsForValue().set("key3","value3"); redisTemplate.opsForValue().set("key4","value4"); System.out.println("缓存已经设置完毕。。。。。。。"); String result1=redisTemplate.opsForValue().get("key1").toString(); String result2=redisTemplate.opsForValue().get("key2").toString(); String result3=redisTemplate.opsForValue().get("key3").toString(); System.out.println("缓存结果为:result:"+result1+" "+result2+" "+result3);

原网址: 访问

创建于: 2021-02-04 14:28:09

目录: default

标签: 无

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Redisset命令用于对集合进行操作Redis提供了多个set命令,包括以下几个常用的命令:keys、stringhashlistset、sorted set、HyperLogLog、发布订阅、事务、脚本、连接和服务器等命令。 其中,keys命令用于获取符合指定模式的键名列表;string命令用于对字符串类型的值进行操作hash命令用于对哈希类型的值进行操作list命令用于对列表类型的值进行操作set命令用于对集合类型的值进行操作;sorted set命令用于对有序集合类型的值进行操作;HyperLogLog命令用于对基数估计数据结构进行操作;发布订阅命令用于实现消息发布和订阅功能;事务命令用于对多个命令进行事务性操作;脚本命令用于执行Lua脚本;连接命令用于管理客户端连接;服务器命令用于管理Redis服务器的运行等。 此外,Redis还提供了SINTERSTORE命令,用于计算给定集合的交集,并将结果存储到指定的键中。使用SMEMBERS命令获取集合元素时,应注意不对元素的排列顺序做任何假设。如果需要排序,可以在客户端对返回的元素进行排序,或者直接使用Redis提供的有序结构(例如列表和有序集合)。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [redis命令大全](https://download.csdn.net/download/qq_35275903/10365590)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Redis 基础 -- 集合 Set 类型 和 Set 类型的常用命令](https://blog.csdn.net/I_r_o_n_M_a_n/article/details/124549481)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值