1、put([H](http://docs.spring.io/spring-data/redis/docs/current/api/org/springframework/data/redis/core/HashOperations.html)?key,``[HK](http://docs.spring.io/spring-data/redis/docs/current/api/org/springframework/data/redis/core/HashOperations.html)?hashKey,``[HV](http://docs.spring.io/spring-data/redis/docs/current/api/org/springframework/data/redis/core/HashOperations.html)?value)
新增hashMap值。
Java代码
- redisTemplate.opsForHash().put(“hashValue”,“map1”,“map1-1”);
- redisTemplate.opsForHash().put(“hashValue”,“map2”,“map2-2”);
获取指定变量中的hashMap值。
Java代码
- ListhashList=redisTemplate.opsForHash().values(“hashValue”);
- System.out.println(“通过values(Hkey)方法获取变量中的hashMap值:”+hashList);
获取变量中的键值对。
Java代码
- Map
- System.out.println(“通过entries(Hkey)方法获取变量中的键值对:”+map);
获取变量中的指定map键是否有值,如果存在该map键则获取值,没有则返回null。
Java代码
- ObjectmapValue=redisTemplate.opsForHash().get(“hashValue”,“map1”);
- System.out.println(“通过get(Hkey,ObjecthashKey)方法获取map键的值:”+mapValue);
5、hasKey([H](http://docs.spring.io/spring-data/redis/docs/current/api/org/springframework/data/redis/core/HashOperations.html)?key,``[Object](https://docs.oracle.com/javase/6/docs/api/java/lang/Object.htmlis-external=true)?hashKey)
判断变量中是否有指定的map键。
Java代码
- booleanhashKeyBoolean=redisTemplate.opsForHash().hasKey(“hashValue”,“map3”);
- System.out.println(“通过hasKey(Hkey,ObjecthashKey)方法判断变量中是否存在map键:”+hashKeyBoolean);
获取变量中的键。
Java代码
- SetkeySet=redisTemplate.opsForHash().keys(“hashValue”);
- System.out.println(“通过keys(Hkey)方法获取变量中的键:”+keySet);
获取变量的长度。
Java代码
- longhashLength=redisTemplate.opsForHash().size(“hashValue”);
- System.out.println(“通过size(Hkey)方法获取变量的长度:”+hashLength);
8、increment(Hkey,HKhashKey, doubledelta)
使变量中的键以double值的大小进行自增长。
Java代码
- doublehashIncDouble=redisTemplate.opsForHash().increment(“hashInc”,“map1”,3);
- System.out.println(“通过increment(Hkey,HKhashKey,doubledelta)方法使变量中的键以值的大小进行自增长:”+hashIncDouble);
9、increment(Hkey,HKhashKey, longdelta)
使变量中的键以long值的大小进行自增长。
Java代码
- longhashIncLong=redisTemplate.opsForHash().increment(“hashInc”,“map2”,6);
- System.out.println(“通过increment(Hkey,HKhashKey,longdelta)方法使变量中的键以值的大小进行自增长:”+hashIncLong);
10、multiGet([H](http://docs.spring.io/spring-data/redis/docs/current/api/org/springframework/data/redis/core/HashOperations.html)?key,``[Collection](https://docs.oracle.com/javase/6/docs/api/java/util/Collection.htmlis-external=true)<[HK](http://docs.spring.io/spring-data/redis/docs/current/api/org/springframework/data/redis/core/HashOperations.html)>?hashKeys)
以集合的方式获取变量中的值。
Java代码
- Listlist=newArrayList();
- list.add(“map1”);
- list.add(“map2”);
- ListmapValueList=redisTemplate.opsForHash().multiGet(“hashValue”,list);
- System.out.println(“通过multiGet(Hkey,CollectionhashKeys)方法以集合的方式获取变量中的值:”+mapValueList);
11、putAll(Hkey,Map< extendsHK, extendsHV>m)
以map集合的形式添加键值对。
Java代码
- MapnewMap=newHashMap();
- newMap.put(“map3”,“map3-3”);
- newMap.put(“map5”,“map5-5”);
- redisTemplate.opsForHash().putAll(“hashValue”,newMap);
- map=redisTemplate.opsForHash().entries(“hashValue”);
- System.out.println(“通过putAll(Hkey,Mapm)方法以map集合的形式添加键值对:”+map);
如果变量值存在,在变量中可以添加不存在的的键值对,如果变量不存在,则新增一个变量,同时将键值对添加到该变量。
Java代码
- redisTemplate.opsForHash().putIfAbsent(“hashValue”,“map6”,“map6-6”);
- map=redisTemplate.opsForHash().entries(“hashValue”);
- System.out.println(“通过putIfAbsent(Hkey,HKhashKey,HVvalue)方法添加不存在于变量中的键值对:”+map);
匹配获取键值对,ScanOptions.NONE为获取全部键对,ScanOptions.scanOptions().match(“map1”).build() 匹配获取键位map1的键值对,不能模糊匹配。
Java代码
- Cursor>cursor=redisTemplate.opsForHash().scan(“hashValue”,ScanOptions.scanOptions().match(“map1”).build());
- //Cursor>cursor=redisTemplate.opsForHash().scan(“hashValue”,ScanOptions.NONE);
- while(cursor.hasNext()){
- Map.Entry
- System.out.println(“通过scan(Hkey,ScanOptionsoptions)方法获取匹配键值对:”+entry.getKey()+“---->”+entry.getValue());
- }
删除变量中的键值对,可以传入多个参数,删除多个键值对。
Java代码
- redisTemplate.opsForHash().delete(“hashValue”,“map1”,“map2”);
- map=redisTemplate.opsForHash().entries(“hashValue”);
- System.out.println(“通过delete(Hkey,Object…hashKeys)方法删除变量中的键值对后剩余的:”+map);
;