Redis之使用 (2)

rupsh key value1 value2 value3尾部压入数据

# lpush :left 127.0.0.1:6379> lpush mylist1 0 1 2 3 # 该表为["lucy", "tom", "10"] 127.0.0.1:6379> lrange mylist1 0 -1 1) "3" 2) "2" 3) "1" 4) "0" # rpush:right 127.0.0.1:6379> rpush mylist2 0 1 2 3 (integer) 4 127.0.0.1:6379> lrange mylist2 0 -1 1) "0" 2) "1" 3) "2" 4) "3" 2.2 查看 lrange # lrange key start stop lrange mylist1 0 2 # 显示前三个元素 lrange mylist1 0 -1 # 显示全部元素 lindex

获取指定位置元素的值

127.0.0.1:6379> lrange mylist1 0 -1 1) "3" 2) "2" 3) "1" 4) "0" 127.0.0.1:6379> lindex mylist1 1 "2" lset

替换元素

127.0.0.1:6379> lrange mylist1 0 -1 1) "3" 2) "2" 3) "1" 4) "0" 127.0.0.1:6379> lset mylist1 1 tom OK 127.0.0.1:6379> lrange mylist1 0 -1 1) "3" 2) "tom" 3) "1" 4) "0" llen

获取列表长度

127.0.0.1:6379> lrange mylist1 0 -1 1) "3" 2) "2" 3) "1" 4) "0" 127.0.0.1:6379> llen mylist1 (integer) 4 2.3 删除

头尾弹出元素

lpop key

从列表的头部弹出一个元素

127.0.0.1:6379> lrange mylist1 0 -1 1) "3" 2) "2" 3) "1" 4) "0" 127.0.0.1:6379> lpop mylist1 "3" 127.0.0.1:6379> lrange mylist1 0 -1 1) "tom" 2) "1" 3) "0" rpop key

从列表的尾部弹出一个元素

127.0.0.1:6379> lrange mylist1 0 -1 1) "tom" 2) "1" 3) "0" 127.0.0.1:6379> rpop mylist1 "0" 127.0.0.1:6379> lrange mylist1 0 -1 1) "tom" 2) "1" rpoprpush

rpoprpush list1 list2弹出list1尾部元素并压入list2尾部(可自由组合)

127.0.0.1:6379> rpush mylist1 0 1 2 3 4 (integer) 5 127.0.0.1:6379> rpoplpush mylist1 mylist2 "4" 127.0.0.1:6379> lrange mylist2 0 -1 1) "0" 2) "1" 3) "2" 4) "3" 127.0.0.1:6379> lrange mylist2 0 -1 1) "4" lrem

lrem key count vlaue

移除指定元素()

count > 0表示从头开始向表尾搜索,移除与value相等的元素,删除的数量为count

count < 0表示从尾开始向表头搜索,移除与value相等的元素,删除的数量为|count|

count = 0表示删除所有value值

127.0.0.1:6379> lrange mylist 0 -1 1) "6" 2) "5" 3) "4" 4) "chancey" 5) "2" 6) "waller" 7) "0" 8) "chancey" 9) "1" 10) "waller" 11) "3" 127.0.0.1:6379> lrem mylist 1 chancey (integer) 1 127.0.0.1:6379> lrange mylist 0 -1 1) "6" 2) "5" 3) "4" 4) "2" 5) "waller" 6) "0" 7) "chancey" 8) "1" 9) "waller" 10) "3" 127.0.0.1:6379> lrem mylist -2 waller (integer) 2 127.0.0.1:6379> lrange mylist 0 -1 1) "6" 2) "5" 3) "4" 4) "2" 5) "0" 6) "chancey" 7) "1" 8) "3" ltrim

ltrim key start stop保留指定位置的元素

127.0.0.1:6379> lrange mylist1 0 -1 1) "tom" 2) "0" 3) "1" 4) "2" 5) "3" 6) "4" 127.0.0.1:6379> ltrim mylist1 0 1 # 保留前两位元素 OK 127.0.0.1:6379> lrange mylist1 0 -1 1) "tom" 2) "0" #保留微博最后500条评论 ltrim weibo:comments 0 499 ltrim weibo:comments -500 -1 练习

查看所有的键
key *

向列表 spider::urls 中已rpush放入如下元素(01_baidu.com、02_taobao.com、03_sina.com、04_jd.com、05_xxx.com)
rpush spider::urls 01_baidu.com、02_taobao.com、03_sina.com、04_jd.com、05_xxx.com

查看列表中的所有元素
lrange spider::urls

查看列表长度
llen spider::urls

将列表中01_baidu.com 改为01_tmall.com
lset sipder::urls 0 01_tmall.com

在列表中04_jd.com之后再加一个元素02_tabao.com
linsert spider::urls after 04_jd.com 02_taobao.com

弹出列表中的最后一个元素
rpop spider::urls

删除列表中所有的02_taobao.com
lrem spider::urls 0 02_taobao.com

剔除列表中的其他元素,只剩前三条
ltrim spider::urls 0 2

2.4 汇总 # 插入元素的相关操作 lpush key value1 value2 rpush key value1 value2 rpoplpush course destination linsert key after | before value newvalue # 查询相关的操作 lrange key start stop llen key # 删除相关操作 lpop key rpop key blpop key timeout # timeout参数必须给,0为永久阻塞 brpop key timeout # 同上 lrem key count value # 剔除count个value ltrim key start stop # 保留范围内元素 # 修改制定元素 lset key index newvalue

Redis列表如何当做共享队列来使用?

生产者消费者模型

生产者进程在列表中 lpush | rpush 数据,消费者进程在列表中 rpop | lpop 数据

==位图操作==

特殊的字符串类型

位图不是真正的数据类型,他是定义在字符串类型中

一个字符串类型的值最多嫩存储512M字节的内容(位上线)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxwxg.html