Redis数据结构之list
常用命令
lpush\rpush <key> <value1> <value2> <value3>... 从左边/右边插入一个或多个值,类似推箱子。
lpop/rpop <key> 从左边/右边吐出一个值。值在键在,值光键亡
rpoplpush <key1> <key2>从<key1>列表右边吐出一个值,插到<key2>列表左边
lrange <key> <start> <stop> 按照索引下标获得元素(从左到右)
lindex <key> <index>按照索引下标获得元素(从左到右)
llen <key>获得列表长度
linsert <key> before/after <value> <newvalue>在<value>的前面或后面插入<newvalue>
lrem <key> <n> <value> 从左边删除n个value值(从左到右)
lset <key> <index> <value> 将列表key下标为index的值替换为value
数据结构
List的数据结构为快速链表quickList
首先在列表元素较少的情况下会使用一块连续的内存存储,这个结构是ziplist,即是压缩列表,它将所有的元素紧挨在一起存储,分配的是一块连续的内存。
当数据量比较多的时候才会变成quickList,多个ziplist连在一起,组成了quickList(双向链表)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律