List数据类型
List是一个链表结构,主要功能为push,pop,获取一个范围的所有值等等。操作中key理解为链表的名字,redis的list其实就是一个每个子元素都是string类型的双向链表,我们可以通过push,pop操作从链表的头或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列
lpush :从头部对list添加字符串元素
例子:
lpush list1 'hello'
lpush list1 'world'
lpush list1 'zjz'
lrange list1 0 -2
输出: zjz world
linsert 在特定的位置插入
lpush list2 one
lpush list2 three
linsert list2 before one two 输出 three two one 头方向为前
lset list2 0 'aaa' 把下标为0的元素值替换为aaa
lrem list2 2 one 删除两个值为one的元素,从头部开始(n<0表示从尾删除,n=0表示全部删除)
ltrim list2 1 -1 保留 1到-1的元素,其他全部删除掉
lpop list2 从头部弹出一个元素,并返回删除的元素
rpop list2 从尾部弹出一个元素,并返回删除的元素
rpoplpush list1 list2 从list1的尾部弹出元素,并添加到list2的头部
lindex list1 1 返回list1中下标为1的元素值,支持负数
rpush list2 'xxxx' 从尾部压入
llen list2 返回链表的长度