专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Redis:存储Hash(基本概念、命令)

1、Hash类型

(1)概念

将一个对象类型存储在Hash类型要比存储在Stringt类型占用更少的内存空间(相比于JSON,json是以字符串的形式存储的),可以实现对整个对象的存取。因此,hash更适合存储对象

对象以字符串的形式存储会增加序列化与反序列化的开销,对对象的值进行修改的时候需要对并发进行控制,会降低程序的效率,而redis没有这些缺陷。但是,当redis的多个属性以键值对的形式存储的时候,hash的名字是重复存储的,会造成内存的浪费

student:1 name zhai
student:1 age 12

而以字符串的形式存储就不存在重复存储的现象,一个对象只存储一个名称即可

student{
"name":"zhai",
"age":"12"
}

(2)结构

99_1.png

(3)应用

2、命令

(1)单个存取

方式一:此种方式不利于管理

127.0.0.1:6379> hset myhash zhai 1997
(integer) 1
127.0.0.1:6379> hset myhash zhang 123
(integer) 1

99_2.png

所有的数据都存储在一起,不方便查看

方式二:

127.0.0.1:6379> hset student:1 name zhai
(integer) 1
127.0.0.1:6379> hset student:2 name zhang
(integer) 1

99_3.png

此种方式结构更清晰,利于对数据的管理

127.0.0.1:6379> hget student:1 name
"zhai"
127.0.0.1:6379> hget student:2 name
"zhang"

(2)存取多个数据

方式一:

一次存储多个,单个取出

99_4.png

一次取出多个·:

99_5.png

方式二:

127.0.0.1:6379> hmset student:3 name tom age 12
OK
127.0.0.1:6379> hget student:3 name
"tom"
127.0.0.1:6379> hmget student:3 name age
1) "tom"
2) "12"

99_6.png

(3)取出所有的数据

127.0.0.1:6379> hgetall student:3
1) "name"
2) "tom"
3) "age"
4) "12"

99_7.png

(4)删除

删除单个键值对

127.0.0.1:6379> hgetall student:3
1) "name"
2) "tom"
3) "age"
4) "12"
127.0.0.1:6379> hdel student:3 age
(integer) 1
127.0.0.1:6379> hgetall student:3
1) "name"
2) "tom"

删除所有键值对

127.0.0.1:6379> keys *
1) "student:3"
2) "student:1"
3) "student:2"
4) "myhash"
127.0.0.1:6379> del myhash
(integer) 1
127.0.0.1:6379> keys *
1) "student:3"
2) "student:1"
3) "student:2"

(5)字段的数量

127.0.0.1:6379> hmset student:4 name lll age 12
OK
127.0.0.1:6379> hlen student:4
(integer) 2

(6)增加字段

127.0.0.1:6379> hmset student:4 name lll age 12
OK
127.0.0.1:6379> hlen student:4
(integer) 2
127.0.0.1:6379> hset student:4 score 123
(integer) 1
127.0.0.1:6379> hgetall student:4
1) "name"
2) "lll"
3) "age"
4) "12"
5) "score"
6) "123"

(7)减小数值

99_8.png

(8)判定指定的键是否存在:返回1代表有,0没有。

99_9.png

(9)获取所有的键:

99_10.png

(10)获取所有的键对应的值:

99_11.png

文章永久链接:https://tech.souyunku.com/22420

未经允许不得转载:搜云库技术团队 » Redis:存储Hash(基本概念、命令)

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们