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(双向链表)

浙公网安备 33010602011771号