首先要定义一个BoundHashOperations
Java代码
-
BoundHashOperations<String, String, Object> boundHashOperations = redisTemplate.boundHashOps("li");
新增元素到指定键中
Java代码
-
boundHashOperations.put("ww","i");
-
boundHashOperations.put("w1","i1");
-
boundHashOperations.put("w2","i2");
2、getKey()
获取指定键中的值
Java代码
-
//获取设置的绑定key值
-
System.out.println("获取设置的绑定key值:" + boundHashOperations.getKey());
3、values()
获取map中的值jdk要求1.8及以上
Java代码
-
//获取map中的value值
-
boundHashOperations.values().forEach(v -> System.out.println("获取map中的value值" + v));
4、entries()
获取map中的键值对
Java代码
-
//获取map键值对
-
boundHashOperations.entries().forEach((m,n) -> System.out.println("获取map键值对:" + m + "-" + n));
获取map键中的值
Java代码
-
//获取map键的值
-
System.out.println("获取map建的值:" + boundHashOperations.get("w1"));
6、keys()
获取map的键
Java代码
-
//获取map的键
-
boundHashOperations.keys().forEach(v -> System.out.println("获取map的键:" + v));
7、multiGet(Collection[HK](https://docs.spring.io/spring-data/redis/docs/current/api/org/springframework/data/redis/core/BoundHashOperations.html) keys)
根据map键批量获取map值
Java代码
-
//根据map键批量获取map值
-
List list = new ArrayList<>(Arrays.asList("ww","w1"));
-
boundHashOperations.multiGet(list).forEach(v -> System.out.println("根据map键批量获取map值:" + v));
8、putAll(Map<? extends HK,? extends HV> m)
批量添加键值对
Java代码
-
//批量添加键值对
-
Map map = new HashMap<>();
-
map.put("m1","n1");
-
map.put("m2","n2");
-
boundHashOperations.putAll(map);
-
boundHashOperations.entries().forEach((m,n) -> System.out.println("批量添加键值对:" + m + "-" + n));
9、increment(HK key, long delta)
自增长map键的值
Java代码
-
//自增长map键的值
-
boundHashOperations.increment("c",1);
-
System.out.println("自增长map键的值:" + boundHashOperations.get("c"));
10、putIfAbsent(HK key, HV value)
添加不存在的map键
Java代码
-
//如果map键不存在,则新增,存在,则不变
-
boundHashOperations.putIfAbsent("m2","n2-1");
-
boundHashOperations.putIfAbsent("m3","n3");
-
boundHashOperations.entries().forEach((m,n) -> System.out.println("新增不存在的键值对:" + m + "-" + n));
11、size()
获取特定键对应的map大小
Java代码
-
//查看绑定建的map大小
-
System.out.println("查看绑定建的map大小:" + boundHashOperations.size());
12、scan(ScanOptions options)
扫描特定键所有值
Java代码
-
//遍历绑定键获取所有值
-
Cursor<Map.Entry<String, Object>> cursor = boundHashOperations.scan(ScanOptions.NONE);
-
while (cursor.hasNext()){
-
Map.Entry<String, Object> entry = cursor.next();
-
System.out.println("遍历绑定键获取所有值:" + entry.getKey() + "---" + entry.getValue());
-
}
批量删除map值
Java代码
-
long delSize = boundHashOperations.delete("m3","m2");
-
System.out.println("删除的键的个数:" + delSize);
-
boundHashOperations.entries().forEach((m,n) -> System.out.println("删除后剩余map键值对:" + m + "-" + n));