3redis的哈希操作

1redis可作为mysql的缓存使用,这个映射关系就可以用hash哈希值处理,例如mysql中select * from user where id=1000这个语句表示要查询id=1000的用户的所有信息,在redis中就可以用hgetall user:1000来表示:

127.0.0.1:6379> hmset user:1000 username zhangsan age 28 job it #这里的user:1000表示key,给这个key添加field和value值
OK
127.0.0.1:6379> hmget user:1000 username #获取key为user:1000的field的值
1) "zhangsan"
127.0.0.1:6379> hmget user:1000 username age
1) "zhangsan"
2) "28"
127.0.0.1:6379> hmget user:1000 username age job
1) "zhangsan"
2) "28"
3) "it"
127.0.0.1:6379> hgetall user:1000 #获取key为user:1000的所有field值
1) "username"
2) "zhangsan"
3) "age"
4) "28"
5) "job"
6) "it"
127.0.0.1:6379> hmset user:1000 email 66907360@qq.com #给user:1000的这个key增加一个fiels-value值
OK
127.0.0.1:6379> hgetall user:1000
1) "username"
2) "zhangsan"
3) "age"
4) "28"
5) "job"
6) "it"
7) "email"
8) "66907360@qq.com"
127.0.0.1:6379> 
[root@db01 ~]# redis-cli hmset user:1000 chongwu 喵星人  #可以插入中文
OK
[root@db01 ~]# redis-cli hgetall user:1000 #中文还自动转换为16进制的码,如需人类可读,需要导出后查看
 1) "username"
 2) "zhangsan"
 3) "age"
 4) "28"
 5) "job"
 6) "it"
 7) "email"
 8) "66907360@qq.com"
 9) "chongwu"
10) "\xe5\x96\xb5\xe6\x98\x9f\xe4\xba\xba"
[root@db01 ~]# redis-cli hgetall user:1000>test1.txt #导出后查看
[root@db01 ~]# cat test1.txt #查看
username
zhangsan
age
28
job
it
email
66907360@qq.com
chongwu
喵星人
[root@db01 ~]# 

 

1

1

1

posted @ 2021-04-01 16:56  linuxTang  阅读(132)  评论(0)    收藏  举报