Redis--list列表

基础概念

  1. 元素必须是字符串类型
  2. 列表头尾增删快,中间增删慢,增删元素是常态
  3. 元素可以重复
  4. 最多可以包含2^32 - 1个元素
  5. 索引和python的列表一样

常用命令 - 增加数据

1.LPUSH  key value1 value2

说明:从列表头部压入元素

返回:list最新的长度

例子:

LPUSH  l1 a b c d e f

2.ROUSH key value1 value2

说明:从列表的尾部压入元素

返回:list最新的长度

3.RPOPPUSH  src dst

说明:从列表src尾部弹出一个元素,压入到列表dst的头部

返回:被弹出的元素

4.LINSERT key after|before value newvalue

说明:在列表指定元素前或者后插入元素,不建议过多使用

返回:

        1.如果命令执行成功,返回列表的长度

        2.如果没有找到指定的元素,返回-1

        3.如果key不存在,或者列表为空,返回0

常用命令 - 查看

1.查看列表中元素

        LRANGE key start stop

        原理就是遍历list

2.获取列表长度

        LLEN key

常用命令 - 删除   

1.从列表头部弹出一个元素

        LPOP key

2.从列表尾部弹出一个元素

        RPOP key

3.列表头部,阻塞弹出,列表为空时阻塞

        BLPOP key timeout

说明:

  1. 如果当前list没有元素或不存在该list,就阻塞在这里
  2. 超时时间设置为0,就是永久阻塞,直到有数据可以弹出
  3. 如果多个客户端阻塞在同一个列表,使用 firist in firist service 原则,先到先服务

4.列表尾部,阻塞弹出,列表为空时阻塞

        BRPOP  key timeout

5. LREM key count value

说明:删除指定元素,从头到尾的遍历list

        count大于0:表示从头部开始向列表尾部搜索,移除与value相等的元素,数量为count

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

        count等于0:表示移除表中所有与value相等的值

返回:被移除元素的数量

6.LTRIM key start stop

说明:保留指定范围内的元素

返回: ok

场景:        

保存微博评论最后500条数据

LTRIM weibo:comments 0 499

常用命令 - 更新

1.LSET key index newvalue

说明:设置list指定索引的值

应用场景

1.存储微博评论,做切割,只保留最新的xx个

2. 生产者消费者模型,做中间层,存放生产者的任务

 

你可能感兴趣的:(Redis,redis,数据库,缓存)