push pop 队列先进先出 栈先进后出 list 既可以作为栈又可以作为队列
List 是一个链表结构,主要功能是push,pop,获取一个范围的所有值等等,操作中key理解为链表的名字
redis 的list类型其实就是一个每个子元素都是string 类型的双向链表
1 lpush 从list 头部压入一个元素 先进后出
lpush mylist "word"
lpush mylist "ehll"
lrange mylist 0 -1 显示 ehll word
2 lrange mylist 0 -1 0代表从头部 1 从尾部
3 rpush 从尾部压入一个元素 先进先出
rpush list2 zhang
rpush list2 san
lrange list2 0 -1
return zhang san
4 linsert从中间压入一个元素
lpush mylist3 "world"
在 one two 直接压入three
lpush list3 one
lpush list3 two
linsert list3 before one three
5 lset 给某个元素赋值
lpush list3 one
lpush list3 two
lset list3 1 three
two 的值被改变成three
6 lrem 从key 对应list中删除n个和value相同的元素 (n<0从尾部删除,n=0全部删除)
remove
lrem list6 2 one 删除2个和one一样值元素
7 ltrim 保留指定key范围内的数据
1 2 3 4
ltrim list8 1 -1 保留的元素范围,其余的都删除
8 lpop 从list 头部删除一个元素,并返回删除的元素
lpop mylist
9 rpop 从list 尾部删除一个元素,并返回删除的元素
rpop mylist
10 rpoplpush 从尾部删除一个元素并从头部添加一个元素
rpoplpush mylist1 mylist2 把mylist1 元素删除 添加到mylist2中
11 lindex 返回名称为key的list 中index 位置的元素
lindex mylist 0
lindex mylist 1
12 llen 返回链表中的元素个数
llen mylist