天天看點

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 [email protected] #給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) "[email protected]"
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) "[email protected]"
 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 #檢視      

1

1