List类型
list是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等,操作中key理解为链表的名字。Redis的list类型其实就是一个每个子元素都是String类型的双向链表。所以可以通过push、pop操作从链表的头部或者尾部添加或删除元素,这样list既可以作为栈又可以作为队列。
常用操作命令
- lpush
在key对应list的头部添加字符串元素,返回list中元素个数。
- lrange
获取指定开始和结束范围的一些列元素。0:表头,-1:表尾。如果stop指定的元素在start的左边,返回空列表
- rpush
在key对应list尾部添加字符串元素。 - linsert
在key对应list的特定位置前或后添加字符串。如:
rpush list "world"
linsert list before "world" "hello" - lset
设置list中指定下标的元素值。
lset list 0 "world" - lrem
从key对应list中删除n个和value相同的元素。(注:n<0从尾删除,n=0全部删除) - ltrim
保留指定key的值范围内的数据。 - lpop
从list的头部删除元素,并返回删除元素。 - rpop
从list的尾部删除元素,并返回元素。 - rpoplpush
从第一个list的尾部移除元素并添加到第二个list的头部。如:
rpoplpush list1 list2 (注:list1进行rpop操作,list2进行lpush操作) - lindex
返回名称为key的list中index位置的元素。 - llen
返回key对应list的长度。