1、put(H key, HK hashKey, HV value)
新增hashMap值。

redisTemplate.opsForHash().put("hashValue","map1","map1-1");  
redisTemplate.opsForHash().put("hashValue","map2","map2-2");  
 
2、values(H key)
获取指定变量中的hashMap值。

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

Map<Object,Object> map = redisTemplate.opsForHash().entries("hashValue");  
System.out.println("通过entries(H key)方法获取变量中的键值对:" + map);  
 
4、get(H key, Object hashKey)
 获取变量中的指定map键是否有值,如果存在该map键则获取值,没有则返回null。

Object mapValue = redisTemplate.opsForHash().get("hashValue","map1");  
System.out.println("通过get(H key, Object hashKey)方法获取map键的值:" + mapValue);  
 
5、hasKey(H key, Object hashKey)
 判断变量中是否有指定的map键。

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

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

long hashLength = redisTemplate.opsForHash().size("hashValue");  
System.out.println("通过size(H key)方法获取变量的长度:" + hashLength);  
 
8、increment(H key, HK hashKey, double delta)
使变量中的键以double值的大小进行自增长。

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

long hashIncLong = redisTemplate.opsForHash().increment("hashInc","map2",6);  
System.out.println("通过increment(H key, HK hashKey, long delta)方法使变量中的键以值的大小进行自增长:" + hashIncLong);  
 
10、multiGet(H key, Collection<HK> hashKey)
 以集合的方式获取变量中的值。

List<Object> list = new ArrayList<Object>();  
list.add("map1");  
list.add("map2");  
List mapValueList = redisTemplate.opsForHash().multiGet("hashValue",list);  
System.out.println("通过multiGet(H key, Collection<HK> hashKeys)方法以集合的方式获取变量中的值:"+mapValueList);  
 
11、putAll(H key, Map<? extends HK,? extends HV> m)
以map集合的形式添加键值对。

Map newMap = new HashMap();  
newMap.put("map3","map3-3");  
newMap.put("map5","map5-5");  
redisTemplate.opsForHash().putAll("hashValue",newMap);  
map = redisTemplate.opsForHash().entries("hashValue");  
System.out.println("通过putAll(H key, Map<? extends HK,? extends HV> m)方法以map集合的形式添加键值对:" + map);  
 
12、putIfAbsent(H key, HK hashKey, HV value)
如果变量值存在,在变量中可以添加不存在的的键值对,如果变量不存在,则新增一个变量,同时将键值对添加到该变量。

redisTemplate.opsForHash().putIfAbsent("hashValue","map6","map6-6");  
map = redisTemplate.opsForHash().entries("hashValue");  
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的键值对,不能模糊匹配。

Cursor<Map.Entry<Object,Object>> cursor = redisTemplate.opsForHash().scan("hashValue",ScanOptions.scanOptions().match("map1").build());  
//Cursor<Map.Entry<Object,Object>> cursor = redisTemplate.opsForHash().scan("hashValue",ScanOptions.NONE);  
while (cursor.hasNext()){  
    Map.Entry<Object,Object> entry = cursor.next();  
    System.out.println("通过scan(H key, ScanOptions options)方法获取匹配键值对:" + entry.getKey() + "---->" + entry.getValue());  
 
14、delete(H key, Object... hashKeys)
删除变量中的键值对,可以传入多个参数,删除多个键值对。

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

RedisTemplate常用使用说明-opsForHash(3)相关推荐

  1. RedisTemplate常用集合使用说明-opsForZSet(六)

    基础配置介绍已经在前面的<RedisTemplate常用集合使用说明(一)]>中已经介绍了,现在我们直接介绍opsForZSet()方法的使用: 1.add(K key, V value, ...

  2. RedisTemplate常用集合使用说明-opsForSet(五)

    基础配置介绍已经在前面的<RedisTemplate常用集合使用说明(一)>中已经介绍了,现在我们直接介绍opsForSet()方法的使用: 1.add(K key, V- values) ...

  3. RedisTemplate常用集合使用说明-opsForList(三)

    ​ 基础配置介绍已经在前面的<RedisTemplate常用集合使用说明(一)>中已经介绍了,现在我们直接介绍opsForList()方法的使用: 1.leftPush(K key, V ...

  4. RedisTemplate常用集合使用说明-opsForValue(二)

    ​ 基础配置介绍已经在前面的<RedisTemplate常用集合使用说明(一)>中已经介绍了,现在我们直接介绍opsForValue()方法的使用: 1.set(K key, V valu ...

  5. RedisTemplate常用操作工具类封装,实现一个函数添加,删除,更新及对应批量操作

    使用示例 /*** @author evildoer* @since 2021-02-05*/ @Service @AllArgsConstructor public class QuestionSe ...

  6. RedisTemplate常用集合之boundValueOps

    一.boundValueOps 简单的Key-Value操作. 1.BoundValueOperations BoundValueOperations就是一个绑定key的对象,我们可以通过这个对象来进 ...

  7. opsforlist 存在贼覆盖_RedisTemplate常用集合使用说明-opsForList(三)

    基础配置介绍已经在前面的<RedisTemplate常用集合使用说明(一)>中已经介绍了,现在我们直接介绍opsForList()方法的使用: 1.leftPush(K key, V va ...

  8. RedisTemplate常用方法总结

    很多公司都将redisTemplate进行了封装,封装成业务所需要的RedisUtil工具类方便进行调用,本篇文章总结了redisTemplate常用的一些方法. Redis常用的数据类型: Stri ...

  9. redisTemplate的hscan方法中为何不需要指定游标开始地址的原因

    redis的hscan写法`` HSCAN key cursor [MATCH pattern] [COUNT count] 这里明明是有cursor参数,为何spring的redistemplate ...

  10. springboot2整合redis的两种使用方式

    使用RedisTemplate 添加gradle依赖 dependencies {implementation 'org.springframework.boot:spring-boot-starte ...

最新文章

  1. 正则表达式模式修正符
  2. NeHe OpenGL教程 第十课:3D世界
  3. Python学习【第6篇】:Python之文件操作
  4. TeamViewer 14 on Nvidia Jetson TX2
  5. android恶意扣费类程序,10款APP违法有害 主要危害涉及恶意扣费等5类
  6. win10怎么把c盘锁住_win10如何给c盘分区
  7. 微软或在开发自己的 CPU、TikTok 发布电视版本、索尼撤下《赛博朋克2077》并为玩家退款|Decode the Week...
  8. while read line的问题
  9. IO流(1)-键盘录入学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件...
  10. Netty工作笔记0021---NIO编写,快速入门---编写服务器
  11. 【转载】MySQL -- SET NAMES utf8
  12. 2. mysql 基本命令
  13. cdr多页面排版_CDR文字排版实战图文教程,CorelDRAW文字排版有哪些技巧?
  14. Is it Google Hacking? It's Google Dorking
  15. 【舆情分析(5)】 情感倾向分析之鲁迅《祝福》里对祥林嫂(特定人物)的情感倾向
  16. 博途PLC 1200/1500PLC多段曲线控温FB(支持40段控温曲线、段曲线搜索、暂停、跳段等功能)
  17. 微信公众号开发-使用微信网页授权进行登录并加上过滤器判断是否已登录
  18. 拼多多发布“双打行动”说明:已下架商品近430万件
  19. 永磁同步电机高频注入simulink仿真模型下载
  20. Linux C/C++ 设置混杂模式的三种方法

热门文章

  1. 带宽与虚拟桌面的考虑
  2. Maven具体解释之------maven版本号管理
  3. Mysql 远程登陆配置
  4. BASH系列(2)——变量
  5. POJ1276:Cash Machine(多重背包)
  6. 精挑细选几个JavaScript库和工具
  7. linux和windows时间同步问题(UTClocaltime)
  8. 从问题到解决方案到应用-android-ApiDemo入口源代码学习及应用
  9. doc.project java_GitHub - kanghaimeng/idoc: Generate doc for java maven project.(java 项目自动生成文档)...
  10. 开发内功修炼CPU篇