栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

RedisTemplet boundHashOps中方法使用说明

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

RedisTemplet boundHashOps中方法使用说明

介绍

boundHashOps主要用于操作Redis的字符串的,它可以先在boundHashOps(“key”)中写上key名,然后接方法名,这样以后的操作就不需要写key的名称,比如redisTemplate.boundHashOps(“key”).set(“value”);当我们需要对一个key同时做多个操作时,我们做如下操作:

Map map=new HashMap();
map.put("k1","v1");
map.put("k2","v2");

BoundHashOperations operations=redisTemplate.boundHashOps("key");
operations.putAll(map);
operations.delete("k1");

以下各方法皆来自于Redis的命令,命令详细介绍参考https://blog.csdn.net/ppjsyw/article/details/125087623

一、设值 1.设置一个field 相关命令

hset key field value

方法
void put(HK key, HV value);
参数说明
  • key:字段名
  • value:值
示例
redisTemplate.boundHashOps("key").put("field","value");
2.设置多个field 相关命令

hset key field value [field value …]

方法
void putAll(Map m);
说明
  • m:多个键值对的map
示例
Map map=new HashMap();
map.put("k1","v1");
map.put("k2","v2");

redisTemplate.boundHashOps("key").putAll(map);
3.当field不存在时设置 相关命令

hsetnx key field value

方法
Boolean putIfAbsent(HK key, HV value);
参数说明
  • 返回值:field存在为0,否则为1
  • key:字段名
  • value:值
示例
redisTemplate.boundHashOps("key").setIfPresent("value");
二.获取 1.获取field的值 相关命令

hget key field

方法
HV get(Object member);
说明
  • 返回值:field的值
  • member:字段名
示例
redisTemplate.boundHashOps("key").get("field");
2.获取多个field的值 相关命令

hmget key field [field …]

方法
List multiGet(Collection keys);
说明
  • 返回值:多个field的值
  • keys:多个字段名
示例
List list=new ArrayList<>();
list.add("k1");
list.add("k2");

redisTemplate.boundHashOps("key").multiGet(list);
3.获取所有的field和value 相关命令

hgetall key

方法
Map entries();
说明
  • 返回值:存储了键值对的一个map
示例
redisTemplate.boundHashOps("key").entries();
4.获取key的所有field 相关命令

hkeys key

方法
Set keys();
说明
  • 返回值:key的所有field
示例
redisTemplate.boundHashOps("key").keys();
5.获取key的所有value 相关命令

hvals key

方法
List values();
说明
  • 返回值:key的所有值
示例
redisTemplate.boundHashOps("key").values();
三 .自增 1. 整数 相关命令

hincrby key field increment

方法
Long increment(HK key, long delta);
说明
  • 返回值:自增后的值
  • key:字段名
  • delta:要自增的数字
示例
redisTemplate.boundHashOps("key").increment("field",10);
2. 小数 相关命令

hincrbyfloat key field increment

方法
Double increment(HK key, double delta);
说明
  • 返回值:自增后的值
  • key:字段名
  • delta:要自增的数字
示例
redisTemplate.boundHashOps("key").increment("field",10.3);
三.随机 1.随机获取一个field 相关命令

hrandfield key [count [withvalues]]

方法
HK randomKey();
说明
  • 返回值:字段名
示例
redisTemplate.boundHashOps("key").randomKey();
2.随机获取一个field并带value 相关命令

hrandfield key [count [withvalues]]

方法
Entry randomEntry();
说明
  • 返回值:字段名和值
示例
redisTemplate.boundHashOps("key").randomEntry();
3.随机获取多个field 相关命令

hrandfield key [count [withvalues]]

方法
List randomKeys(long count);
说明
  • 返回值:多个字段名
  • count:需要获取几个field
示例
redisTemplate.boundHashOps("key").randomKeys(3);
4.随机获取多个field并带value 相关命令

hrandfield key [count [withvalues]]

方法
Map randomEntries(long count);
说明
  • 返回值:键值对的map
  • count:需要获取几个field
示例
redisTemplate.boundHashOps("key").randomEntries(3);
五.其他 1.获取field有多少个 相关命令

hlen key

方法
Long size();
说明
  • 返回值:field个数
示例
redisTemplate.boundHashOps("key").size();
2.获取field的值的长度 相关命令

hstrlen key field

方法
Long lengthOfValue(HK hashKey);
说明
  • 返回值:值的长度
  • hashKey:字段名
示例
redisTemplate.boundHashOps("key").lengthOfValue("field");
3.删除field 相关命令

hdel key field [field …]

方法
Long delete(Object... keys);
说明
  • 返回值:成功删除的field个数
  • keys:要删除的字段名
示例
redisTemplate.boundHashOps("key").delete("field1","field2");
4.field是否存在 相关命令

hexists key field

方法
Long hasKey(Object key);
说明
  • 返回值:存在为1,否则为0
  • keys:字段名
示例
redisTemplate.boundHashOps("key").hasKey("field");
5.迭代 相关命令

hscan key cursor [match pattern] [Count count]

方法
Cursor> scan(ScanOptions options);
说明
  • Cursor>:键值对和游标

  • options:迭代参数

    • ScanOptions.NONE:无任何参数
    • ScanOptions.scanOptions().match():匹配Match
    • ScanOptions.scanOptions().count():数量
示例
redisTemplate.boundHashOps("key").scan(ScanOptions.scanOptions().match("*s*").build());
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/975572.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号