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" rpoprpushrpoprpush 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" lremlrem 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" ltrimltrim 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
Redis列表如何当做共享队列来使用?
生产者消费者模型
生产者进程在列表中 lpush | rpush 数据,消费者进程在列表中 rpop | lpop 数据
==位图操作==特殊的字符串类型
位图不是真正的数据类型,他是定义在字符串类型中
一个字符串类型的值最多嫩存储512M字节的内容(位上线)