Redis关于Hash和List的命令学习

Hash是一个String类型的key和value的映射表
************************************************************************
hset:这是创建了一个Hash表,后面第一个跟的是这个哈希表的名字,在后面就是这个hash表的属性和值。
127.0.0.1:6379> hset user1 id 001 name zhangsan age 21
(integer) 3
127.0.0.1:6379> hset user2 id 002 name lisi age 22
(integer) 3
************************************************************************
hexists hash field:查找hash表中指定的字段是否存在
127.0.0.1:6379> hexists user id
(integer) 0
127.0.0.1:6379> hexists user1 id
(integer) 1
127.0.0.1:6379> hexists user1 id0
(integer) 0
************************************************************************
hget hash field:获取指定hash表中指定的字段值
127.0.0.1:6379> hget user1 name
"zhangsan"
127.0.0.1:6379> hget user2 id
"002"
************************************************************************
hdel hash field:删除指定hash表中的某一个字段
127.0.0.1:6379> hget user1 id
"001"
127.0.0.1:6379> hdel user1 id
(integer) 1
127.0.0.1:6379> hget user1 id
(nil)
************************************************************************
hincrby hash field num:给指定的hash表中指定的属性增加指定的值
127.0.0.1:6379> hget user1 age
"21"
127.0.0.1:6379> HINCRBY user1 age 21
(integer) 42
127.0.0.1:6379> hget user1 age
"42"
************************************************************************
hkeys hash:获取指定hash表中所有的字段
127.0.0.1:6379> hkeys user1
1) "name"
2) "age"
127.0.0.1:6379> hkeys user2
1) "id"
2) "name"
3) "age"
************************************************************************
hlen hash:获取指定hash表中字段的数量
127.0.0.1:6379> hlen user1
(integer) 2
127.0.0.1:6379> hlen user2
(integer) 3
************************************************************************
hmget hash field field:获取指定hash表的多个字段的值
127.0.0.1:6379> hmget user1 id name age
1) (nil)
2) "zhangsan"
3) "42"
127.0.0.1:6379> hmget user2 id name age
1) "002"
2) "lisi"
3) "22"
************************************************************************
hmset hash field value field value:设置指定hash表中多个字段的值
127.0.0.1:6379> hmset user1 id 001 name zhanbao age 44
OK
127.0.0.1:6379> hmget user1 id name age
1) "001"
2) "zhanbao"
3) "44"
************************************************************************
hset hash field value:设置hash表指定字段的值
127.0.0.1:6379> hset user1 id 010
(integer) 0
127.0.0.1:6379> hget user1 id
"010"
************************************************************************
hvals hash:获取hash表中所有的value值
127.0.0.1:6379> hvals user1
1) "zhanbao"
2) "44"
3) "010"
************************************************************************
hscan hash cursor:迭代hash中的键值对
127.0.0.1:6379> hscan user1  0 
1) "0"
2) 1) "name"
   2) "zhanbao"
   3) "age"
   4) "44"
   5) "id"
   6) "010"
************************************************************************

关于List的命令的学习

1:列表中的元素是有序的,这就意味着可以通过索引下标获取某个元素或者某个范围内的元素列表。
2:列表中的元素可以是重复的.
************************************************************************
向List中添加元素
127.0.0.1:6379> lpush list1 123
(integer) 1
127.0.0.1:6379> lpush list1 124
(integer) 2
127.0.0.1:6379> lpush list1 125
(integer) 3
************************************************************************
从List中弹出元素
127.0.0.1:6379> lpop list1
"125"
127.0.0.1:6379> lpop list1
"124"
************************************************************************
lindex list index:返回list集合中指定下标的元素
127.0.0.1:6379> lindex list1 0
"123"
127.0.0.1:6379> lindex list1 1
(nil)
127.0.0.1:6379> lpush list1 124
(integer) 2
127.0.0.1:6379> lpush list1 125
(integer) 3
127.0.0.1:6379> lpush list1 126
(integer) 4
127.0.0.1:6379> lindex list1 1
"125"
127.0.0.1:6379> lindex list1 2
"124"
127.0.0.1:6379> lindex list1 3
"123"
127.0.0.1:6379> lindex list1 0
"126"
************************************************************************
llen list:获取list的长度
127.0.0.1:6379> llen list1
(integer) 4
************************************************************************
blpop list tiomeout:弹出列表的第一个元素,如果列表没有元素就会阻塞,直到超时返回nil
127.0.0.1:6379> blpop list1 20
1) "list1"
2) "126"
************************************************************************
brpop list tiomeout:弹出列表的最后一个元素,如果列表没有元素就会阻塞,直到超时返回nil
127.0.0.1:6379> brpop list1 20
1) "list1"
2) "123"
************************************************************************
brpoplpush resource destinate timeout:取出原来list中的最后一个值返给指定的list中。
127.0.0.1:6379> brpoplpush list1 list2 20
"124"
************************************************************************
LINSERT key BEFORE|AFTER pivot value:在指定位置的前面或者后面插入值
127.0.0.1:6379> lindex list1 0
"128"
127.0.0.1:6379> lindex list1 1
"127"
127.0.0.1:6379> lindex list1 2
"126"
127.0.0.1:6379> lindex list1 3
(nil)
127.0.0.1:6379> linsert list1 before 126 10
(integer) 4
127.0.0.1:6379> lindex list1 0
"128"
127.0.0.1:6379> lindex list1 1
"127"
127.0.0.1:6379> lindex list1 2
"10"
127.0.0.1:6379> lindex list1 3
"126"
127.0.0.1:6379> 
************************************************************************
lpush list ..:插入一个或者多个值到列表。
127.0.0.1:6379> lpush list1 222 223 224 225
(integer) 8
127.0.0.1:6379> lindex list1 0
"225"
127.0.0.1:6379> 
************************************************************************
lrem list count value:移除列表中的指定个数的某个值
127.0.0.1:6379> llen list1
(integer) 8
127.0.0.1:6379> lrem list1 1 222
(integer) 1
127.0.0.1:6379>
************************************************************************
lrange list start end:查看列表中指定区间的值
127.0.0.1:6379> lrange list1 0 -1
1) "225"
2) "224"
3) "223"
4) "128"
5) "127"
6) "10"
7) "126"
127.0.0.1:6379> lrange list1 0 2
1) "225"
2) "224"
3) "223"
************************************************************************
lset list index value:指定列表中指定下标位置的值
127.0.0.1:6379> lrange list1 0 -1
1) "225"
2) "224"
3) "223"
4) "128"
5) "127"
6) "10"
7) "126"
127.0.0.1:6379> lindex list1 0
"225"
127.0.0.1:6379> lset list1 0 555
OK
127.0.0.1:6379> lrange list1 0 -1
1) "555"
2) "224"
3) "223"
4) "128"
5) "127"
6) "10"
7) "126"
************************************************************************
ltrim list start stop:截取列表中指定的部分,其他部分不保留
127.0.0.1:6379> lrange list1 0 -1
1) "555"
2) "224"
3) "223"
4) "128"
5) "127"
6) "10"
7) "126"
127.0.0.1:6379> ltrim list1 3 5
OK
127.0.0.1:6379> lrange list1 0 -1
1) "128"
2) "127"
3) "10"
************************************************************************
rpop list :移除列表中末尾的元素,可以指定数量,不是一个
127.0.0.1:6379> rpop list1
"10"
127.0.0.1:6379> rpop list1 2
1) "127"
2) "128"
************************************************************************
lpushx list value:指定为已经存在的列表添加值,不存在就不添加,
注意:在redis里面内容为空就是列表不存在。
127.0.0.1:6379> lpush list 2
(integer) 1
127.0.0.1:6379> rpushx list 23
(integer) 2
************************************************************************



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北海冥鱼未眠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值