RedisTemplate map集合使用说明-opsForHash(三)_椰汁菠萝-程序员宝宝_opsforhash

技术标签: spring  java  RedisTemplate  map  redis  

 1、put(H key, HK hashKey, HV value)

 

   新增hashMap值。

   

Java代码  收藏代码

  1. redisTemplate.opsForHash().put("hashValue","map1","map1-1");  
  2. redisTemplate.opsForHash().put("hashValue","map2","map2-2");  

 

     2、values(H key)

 

  获取指定变量中的hashMap值。

 

Java代码  收藏代码

  1. List<Object> hashList = redisTemplate.opsForHash().values("hashValue");  
  2. System.out.println("通过values(H key)方法获取变量中的hashMap值:" + hashList);  

 

    3、entries(H key)

 

  获取变量中的键值对。

 

Java代码  收藏代码

  1. Map<Object,Object> map = redisTemplate.opsForHash().entries("hashValue");  
  2. System.out.println("通过entries(H key)方法获取变量中的键值对:" + map);  

 

    4、get(H key, Object hashKey)

 

  获取变量中的指定map键是否有值,如果存在该map键则获取值,没有则返回null。

 

Java代码  收藏代码

  1. Object mapValue = redisTemplate.opsForHash().get("hashValue","map1");  
  2. System.out.println("通过get(H key, Object hashKey)方法获取map键的值:" + mapValue);  

 

    5、hasKey(H key, Object hashKey)

 

      判断变量中是否有指定的map键。

 

Java代码  收藏代码

  1. boolean hashKeyBoolean = redisTemplate.opsForHash().hasKey("hashValue","map3");  
  2. System.out.println("通过hasKey(H key, Object hashKey)方法判断变量中是否存在map键:" + hashKeyBoolean);  

 

     6、keys(H key)

 

       获取变量中的键。

 

Java代码  收藏代码

  1. Set<Object> keySet = redisTemplate.opsForHash().keys("hashValue");  
  2. System.out.println("通过keys(H key)方法获取变量中的键:" + keySet);  

 

     7、size(H key)

 

        获取变量的长度。

 

Java代码  收藏代码

  1. long hashLength = redisTemplate.opsForHash().size("hashValue");  
  2. System.out.println("通过size(H key)方法获取变量的长度:" + hashLength);  

 

     8、increment(H key, HK hashKey, double delta)

 

       使变量中的键以double值的大小进行自增长。

 

Java代码  收藏代码

  1. double hashIncDouble = redisTemplate.opsForHash().increment("hashInc","map1",3);  
  2. System.out.println("通过increment(H key, HK hashKey, double delta)方法使变量中的键以值的大小进行自增长:" + hashIncDouble);  

 

     9、increment(H key, HK hashKey, long delta)

 

使变量中的键以long值的大小进行自增长。

 

Java代码  收藏代码

  1. long hashIncLong = redisTemplate.opsForHash().increment("hashInc","map2",6);  
  2. System.out.println("通过increment(H key, HK hashKey, long delta)方法使变量中的键以值的大小进行自增长:" + hashIncLong);  

     10、multiGet(H key, Collection<HK> hashKeys)

 

         以集合的方式获取变量中的值。

 

Java代码  收藏代码

  1. List<Object> list = new ArrayList<Object>();  
  2. list.add("map1");  
  3. list.add("map2");  
  4. List mapValueList = redisTemplate.opsForHash().multiGet("hashValue",list);  
  5. System.out.println("通过multiGet(H key, Collection<HK> hashKeys)方法以集合的方式获取变量中的值:"+mapValueList);  

 

      11、putAll(H key, Map<? extends HK,? extends HV> m)

 

   以map集合的形式添加键值对。

 

Java代码  收藏代码

  1. Map newMap = new HashMap();  
  2. newMap.put("map3","map3-3");  
  3. newMap.put("map5","map5-5");  
  4. redisTemplate.opsForHash().putAll("hashValue",newMap);  
  5. map = redisTemplate.opsForHash().entries("hashValue");  
  6. System.out.println("通过putAll(H key, Map<? extends HK,? extends HV> m)方法以map集合的形式添加键值对:" + map);  

 

      12、putIfAbsent(H key, HK hashKey, HV value)

 

          如果变量值存在,在变量中可以添加不存在的的键值对,如果变量不存在,则新增一个变量,同时将键值对添加到该变量。

 

Java代码  收藏代码

  1. redisTemplate.opsForHash().putIfAbsent("hashValue","map6","map6-6");  
  2. map = redisTemplate.opsForHash().entries("hashValue");  
  3. System.out.println("通过putIfAbsent(H key, HK hashKey, HV value)方法添加不存在于变量中的键值对:" + map);  

       13、scan(H key, ScanOptions options)

            匹配获取键值对,ScanOptions.NONE为获取全部键对,ScanOptions.scanOptions().match("map1").build()     匹配获取键位map1的键值对,不能模糊匹配。

Java代码  收藏代码

  1. Cursor<Map.Entry<Object,Object>> cursor = redisTemplate.opsForHash().scan("hashValue",ScanOptions.scanOptions().match("map1").build());  
  2. //Cursor<Map.Entry<Object,Object>> cursor = redisTemplate.opsForHash().scan("hashValue",ScanOptions.NONE);  
  3. while (cursor.hasNext()){  
  4.     Map.Entry<Object,Object> entry = cursor.next();  
  5.     System.out.println("通过scan(H key, ScanOptions options)方法获取匹配键值对:" + entry.getKey() + "---->" + entry.getValue());  
  6. }  

        14、delete(H key, Object... hashKeys)

   删除变量中的键值对,可以传入多个参数,删除多个键值对。

Java代码  收藏代码

  1. redisTemplate.opsForHash().delete("hashValue","map1","map2");  
  2. map = redisTemplate.opsForHash().entries("hashValue");  
  3. System.out.println("通过delete(H key, Object... hashKeys)方法删除变量中的键值对后剩余的:" + map);  
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/suo082407128/article/details/86231433

智能推荐

诺基亚5230通讯录导出_小月贺金山的博客-程序员宝宝

进入通讯录---进入选项---选择全部标记----复制至存储卡。然后在存储卡(SD卡之类的东西)里,有一个文件夹 xI:\Others\Contacts这里就是你的所有电话号码了。

BJ模拟 装饰地板【状压dp+特征多项式优化矩阵快速幂】_Neo__Z的博客-程序员宝宝

题目大意:给一个m∗nm∗nm*n的地板,有s1s1s1种1×21×21\times2的横地砖,s2s2s2种2×12×12\times 1的竖地砖,问有多少种铺满的方式,对998244353取模。 (m≤6,n≤102501,s1,s2≤1e9)(m≤6,n≤102501,s1,s2≤1e9)(m\le 6,n\le 10^{2501},s1,s2\le 1e9)解题思路:看到...

奥比中光 astra 乐视三合一体感摄像头采集深度图彩色图并保存_Blue night的博客-程序员宝宝_乐视奥比中光深度摄像头

本文参考的文章:目录ROS下开发运行ROS节点功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入ROS下开发 前提是需要提前配置好相机在ROS中的运行环境[Ubuntu18.04+ROS+ 乐视三合一深度相机配置使用](ht

C语言实现单链表基本操作_悲伤的程序员的博客-程序员宝宝

单链表基本的操作有增删改查:基本操作代码如下:初始化:typedef struct list_node{ int data; struct list_node *next;} LinkList;//初始化单链表L为空--头结点,即创建头结点LinkList *ListInit(LinkList *L){ L = (LinkList *)malloc(sizeof(LinkList)); if (!L) { exit(-1);

LeetCode 105: 从前序与中序遍历序列构造二叉树_icodebugs的博客-程序员宝宝

题目: 根据一棵树的前序遍历与中序遍历构造二叉树。Given preorder and inorder traversal of a tree, construct the binary...

BREW常见问题解答(FAQ 4)-语言和操作系统 (转)_ciya3282的博客-程序员宝宝

BREW常见问题解答(FAQ 4)-语言和操作系统 (转)[@[email protected]]2. 语言和操作系统FAQ 2a:问:BREW的Java开发选项是否已经存在?答:虽然我们(QUALCOMM)自己不提供BREW平台的Java运行...

随便推点

java实现FTP多线程断点续传,上传下载!_起一个好听的名字的博客-程序员宝宝

package com.ftp; import java.io.File;   import java.io.FileOutputStream;   import java.io.IOException;   import java.io.InputStream;   import java.io.OutputStream;   import java.io.Print

洛谷P1126 机器人搬重物【bfs】_weixin_30393907的博客-程序员宝宝

题目链接:https://www.luogu.org/problemnew/show/P1126题意:给定一个n*m的方格,机器人推着直径是1.6的球在格子的线上运动。每一秒钟可以向左转,向右转或者直走1步2步或是3步。现在给定一个起点和开始的朝向,问走到终点至少要多少时间。思路:真是一道狗屎坑题。题目给出的是格点,而机器人是在交点上运动的。盗用一下洛谷@雒仁韬的图。题...

阿里云重磅发布DMS数据库实验室 免费体验数据库引擎 ..._weixin_34306593的博客-程序员宝宝

2月27日,阿里云数据管理DMS发布年度巨献——数据库实验室,用户可在该实验室环境下免费体验数据库引擎、以及DMS各项产品功能。数据库实验室是DMS所提供的体验空间,免费赠送数据库引擎资源。用户只需要登录阿里云账号,即可开通使用各个已支持数据库引擎的全部产品功能,同时还将拥有如下权益:免费256MB数据空间免费体验DMS所有功能未来将享有其他类...

_net平台性能很不错的轻型ORM类Dapper_heoo442的博客-程序员宝宝

dapper只有一个代码文件,完全开源,你可以放在项目里的任何位置,来实现数据到对象的ORM操作,体积小速度快。 使用ORM的好处是增、删、改很快,不用自己写sql,因为这都是重复技术含量低的工作,还有就是程序中大量的从数据库中读数据然后创建model,并为model字段赋值。这些ORM都可以轻松给你搞定。ORM给我们开发带来便利时,性能也是一个让我们不得不考虑的问题。一般的ORM性能和直接写

java运行过程中c盘越来越大_IIS日志文件越来越大导致C盘空间变小处理方法_BioArt生物艺术的博客-程序员宝宝

问题概述C:\inetpub\logs\LogFiles\W3SVC文件夹越来越大,IIS日志会消耗大量的硬盘空间,有潜在写满整个硬盘空间的风险,为了解决这个问题很多用户会选择关闭日志,但显然IIS日志会消耗大量的硬盘空间,有潜在写满整个硬盘空间的风险,为了解决这个问题很多用户会选择关闭日志,显然这里并不是最好的选择,在这里我们推荐两种方法:日志文件建议只修改路径不要删除;建立任务计划程序,使用脚...

zookper windows下安装与知识点_走过程序员的路的博客-程序员宝宝

1.概念ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 2.安装在apache的官方网站提供了好多镜像下载地址,然后找到对应的版本,目前最新的是3.3.6下载

推荐文章

热门文章

相关标签