基本的数据类型,列表,在Redis里面我们可以把list玩成,栈
、队列
、阻塞队列
。
所有的list命令都使用l或r开头的,代表left和right,l是队头r是队尾
数值操作
lpush key value #左边插入,向list集合中存储一个值,可以多次存储
lrange key start stop #通过区间获取集合中指定的元素
数据的读取规则,先进后出,最后一个元素为0号元素。
当我们再次向里面存储数据时,他存到了最后一位而不是第一位,所以说这相当于双端队列
,可以从两端取,也可以从两端存。
栈的概念:是弹压,就像子弹壳装弹,一粒一粒压进去,但是打出来的时候是从上面打出来的,最先压进去的最后弹出来,如果进去顺序是123,打出来顺序是321,这就是后进先出。
队列的概念:就是我们平时排队,按次序来,你排在第1个,那你就第一个轮到,就是先进先出,先到先来
rpush key element [element...] #向队列尾部插入元素
lpop key [count] #从集合左边移除一个值,可以指定移除个数,若不指定将移除第一个
rpop key [count] #从集合右边移除一个值,可以指定移除个数,若不指定将移除第一个
lindex key index #通过下标获取值
llen key #返回这个集合的长度
lrem key count element #移除指定的值,可以指定个数
ltrim key start stop #截取指定的元素
由下图可见,这个命令会截断集合,并覆盖到原集合
rpoplpush source destination #移除指定集合的最后一个元素,并把它添加到另外一个集合
lset key index value #给指定集合下标添加值,如果集合或下标不存在,则会报错
可以用来做替换、更新操作
linsert key before|after pivot element #向指定集合指定元素后面或前面添加元素
当集合中有两个相同的值时,则在左侧开始匹配到的第一个值插入
总结