Redis常用命令之操作Hash类型
场景
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
注:
博客:
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
hash类型是string类型的field和value的映射表,或者说是一个string集合。
它特别适合存储对象,相比较而言,将一个对象类型存储在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 中所有域的值。
举例
上一篇: [学习笔记] Oracle运算符、连接符、结果去重、范围查询、模糊查询
下一篇: 01、数据库基础篇