redis hash

1.hash增操作

1.设置值单个设置值:hset key file value ,hsetnx 设置如果key存在并且当前的file存在是不会覆盖原来的file值的,如果file不存在就在这个hash结构中添上当前设置的file。

127.0.0.1:6379> hset lixue name zhangsan#设置个key
(integer) 1
127.0.0.1:6379> hget lixue name #获取key中的file值
"zhangsan"
127.0.0.1:6379> hsetnx lixue age 1#设置存在key但是file不存在
(integer) 1
127.0.0.1:6379> hget lixue age#获取刚刚设置的不存在的file设置成功
"1"
127.0.0.1:6379> hget lixue name #获取值
"zhangsan"
127.0.0.1:6379> hsetnx lixue name lixue #设置name值为lixue
(integer) 0
127.0.0.1:6379> hget lixue name#获取值,设置失败,没有覆盖原来的值
"zhangsan"

 2.批量设置hash结构的数据,命令为hmset key file value file value,其他和上面单个添加需要注意的类似

127.0.0.1:6379> hmset lixue name lixue age 24
OK
127.0.0.1:6379> hget lixue name
"lixue"
127.0.0.1:6379> hget lixue age
"24"

 2.hash查操作

1.单个查hget key file

127.0.0.1:6379> hget lixue name
"lixue"
127.0.0.1:6379> hget lixue age
"24"

 2.批量查hmget key file file……

127.0.0.1:6379> hmget lixue name age
1) "lixue"
2) "24"

 3. 根据key查询这个key下面所有的字段以及对应值

127.0.0.1:6379> hgetall lixue
1) "name"
2) "lixue"
3) "age"
4) "24"

 4.根据key查看相应key中的键值对的数量

127.0.0.1:6379> hlen lixue
(integer) 2
127.0.0.1:6379> hset lixue job eng
(integer) 1
127.0.0.1:6379> hlen lixue
(integer) 3
127.0.0.1:6379> 

 5.根据key查看键值对的相应字段是否存在,这里面需要注意不能批量查询

127.0.0.1:6379> hexists lixue  name 
(integer) 1

 6.根据key返回所有的键值对对应的字段,如果没有key会提示你没有这个key

127.0.0.1:6379> hkeys   myhash 
(empty list or set)
127.0.0.1:6379> hkeys lixue
1) "name"
2) "age"
3) "job"

 7.根据key返回响应的键值对对应的值

127.0.0.1:6379> hvals  lixue
1) "lixue"
2) "24"
3) "eng"

3.删除操作,删除一个不存在的file值会返回0

127.0.0.1:6379> hdel lixue name
(integer) 1
127.0.0.1:6379> hdel lixue sge
(integer) 0
127.0.0.1:6379> hdel lixue age
(integer) 1

 

posted @ 2019-03-08 11:39  程序猿雪儿  阅读(175)  评论(0编辑  收藏  举报