redis之List相关操作
List是一个字符串链表,left、right都可以插入添加;
添加内容时,如果键不存在则创建新的链表;如果键已经存在则新增内容;
移除内容时,如果值全部移除则对应的键也同时消失;
链表在两端的操作效率高,对中间元素操作,效率低
1、添加/获取元素
lpush | 从左端添加元素 |
rpush | 从右端添加元素 |
lrange | 从左端获取元素(没有rrange) |
2、弹出元素
lpop | 从左边弹出第一个元素 |
rpop | 从左边弹出第一个元素 |
3、按照索引下标获取元素,从左到右,第一个下标为0
lindex key index
4、获取元素个数
llen key
5、删除n个value
lren key n value
删除最左边的两个值为2的元素:lrem list 2 2
如果元素数不够,则能删几个删几个
6、截取指定区间的元素赋值给key
ltrim key index1 index2
7、从一个列表弹出元素插入到另一个列表中(源列表最右边的元素弹出,放到目标列表最左边)
rpoplpush 源列表 目标列表
8、将列表中指定位置(从左数,下标从0开始)的元素设置为新的值
lset key index value
9、在给定元素的前(或者后)插入指定元素
linsert key before value1 value2