Redis数据结构详解--列表

Redis 列表是简单的字符串列表,按照插入顺序排序,常用命令:

  • LPUSH key value1 [value2...] 在列表头部插入一个或多个值
  • RPUSH key value1 [value2...] 在列表尾部插入一个或多个值
  • LPOP key 移除并获取列表头部第一个元素
  • RPOP key 移除并获取列表尾部最后一个元素
  • LRANGE key start stop 获取列表指定索引范围内的元素(0 表示第一个元素,-1 表示最后一个元素)
  • LLEN key 获取列表长度
  • BLPOP key [key...] timeout 从列表头部阻塞弹出元素,超时时间设置为 0 表示无限阻塞
  • BRPOP key [key...] timeout 从列表尾部阻塞弹出元素,超时时间设置为 0 表示无限阻塞
  • LTRIM key start stop 保留列表指定索引范围内的元素(删除范围外的元素)

关键特性说明

  • 阻塞操作:BLPOP/BRPOP​ 常用于实现消息队列,当列表为空时线程会挂起等待新元素

    # 示例:实现简单任务队列
    > LPUSH tasks "task1" "task2"  # 生产者推送任务
    (integer) 2
    > BRPOP tasks 0                # 消费者阻塞获取任务
    1) "tasks"
    2) "task1"
    
  • 范围索引:LRANGE​ 和 LTRIM​ 支持负数索引(例如 LRANGE key 0 -1​ 表示获取全部元素)

  • 原子性:所有列表操作均为原子性,适用于高并发场景

使用场景:消息队列、最新动态(如朋友圈时间线)、分页查询。

你可能感兴趣的:(java,mybatis,bootstrap,redis,mysql,数据库,数据结构)