场景
Centos中Redis的下载编译与安装(超详细):
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334
Redis的启动和关闭(前台启动和后台启动):
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103972348
RedisDesktopManager客户端可视化工具下载安装与使用:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103983147
Redis常用命令之操作String类型:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103991107
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
Hash类型是String类型的field和value的映射表,或者说是一个String集合。
![](/qrcode.jpg)
它特别适合存储对象,相比较而言,将一个对象类型存储在Hash类型比要存储在String类型里占用更少的内存空间,
并方便整个对象的存取。
后台模式启动Redis服务端,并建立客户端连接。
HSET/HGET命令
语法
HSET key field value
将哈希表 key 中的域 field 的值设为 value 。
如果 key 不存在,一个新的哈希表被创建并进行 HSET 操作。
如果域 field 已经存在于哈希表中,旧值将被覆盖。
HGET key field
返回哈希表 key 中给定域 field 的值。
举例
使用hset给person 设置id为1 name 为badao
此时可以打开可视化客户端查看
然后使用hget获取
HMSET/HMGET命令
语法
HMSET key field value [field value ...]
同时将多个 field-value (域-值)对设置到哈希表 key 中。
此命令会覆盖哈希表中已存在的域。
如果 key 不存在,一个空哈希表被创建并执行 HMSET 操作。
HMGET key field [field ...]
返回哈希表 key 中,一个或多个给定域的值。
如果给定的域不存在于哈希表,那么返回一个 nil 值。
因为不存在的 key 被当作一个空哈希表来处理,所以对一个不存在的 key 进行 HMGET 操作将返回一个只带有 nil 值的表。
举例
可以使用可视化客户端查看此时
如果要对hmset设置时间
HINCRBY命令
语法
HINCRBY key field increment
为哈希表 key 中的域 field 的值加上增量 increment 。
增量也可以为负数,相当于对给定域进行减法操作。
如果 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令。
如果域 field 不存在,那么在执行命令前,域的值被初始化为 0 。
对一个储存字符串值的域 field 执行 HINCRBY 命令将造成一个错误。
本操作的值被限制在 64 位(bit)有符号数字表示之内。
示例
HEXISTS命令
语法
HEXISTS key field
查看哈希表 key 中,给定域 field 是否存在。
可用版本:
>= 2.0.0
时间复杂度:
O(1)
返回值:
如果哈希表含有给定域,返回 1 。
如果哈希表不含有给定域,或 key 不存在,返回 0 。
举例
HDEL命令
语法
HDEL key field [field ...]
删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。
举例
HLEN命令/HKEYS命令/HVALS命令
语法
HLEN key
返回哈希表 key 中域的数量。
HKEYS key
返回哈希表 key 中的所有域。
HVALS key
返回哈希表 key 中所有域的值。