hash的数据结构类似于Java里的类。key可以类似于类名
添加域
-
HSET key field value [field value …]
往key中添加一个field,并给field填充value。
返回值:返回fields的数量
HashMap<String, String> fields = new HashMap<>(); fields.put("id", "10001"); fields.put("name", "tom"); fields.put("age", "12"); Long fieldsNum = resource.hset(key, fields); -
HSETNX key field value
field不存在时,才添加
返回值:返回1,表示新的field被添加
返回0,表示field已经存在
Long exist = resource.hsetnx(key, "id", "1001"); -
HMSET key field value [field value …]
批量设置field和value。功能和hset一样。适用于redis4.0版本之前
获取域和值
-
HGET key field
获取field对应的value。
返回值:field存在,返回value
field不存在,返回nilString value = resource.hget(key, "id"); -
HGETALL key
返回所有field对应的value
返回值:key存在,返回field-value对
key不存在,返回空list
Map<String, String> fieldValueMap = resource.hgetAll(key); -
HKEYS key
获取所有的field
返回值:key存在,返回所有的field
key不存在,返回空list
Set<String> fields = resource.hkeys(key); -
HVALS key
获取所有values
返回值:key存在,返回所有的value
key不存在,返回空list
List<String> values = resource.hvals(key);
删除域
-
HDEL key field [field …]
移除指定的field。
返回值:返回被移除的field的数量。
key不存在,返回0
Long removedNum = resource.hdel(key, "id", "name");
域是否存在
-
HEXISTS key field
返回field是否存在
返回值:1,存在
0,不存在
Boolean exist = resource.hexists(key, "id");
域的数量
-
HLEN key
返回field的数量
返回值:返回filed的数量或者0
Long fieldsNumber = resource.hlen(key);
本文概述了如何使用Redis进行高效的字段添加、查询、删除及存在性检查,包括HSET、HGET、HDEL等命令及其应用场景,适合深入理解Redis的数据结构和操作技巧。

被折叠的 条评论
为什么被折叠?



