Redis数据库(list类型)

2015-01-21 12:14:07 · 作者: · 浏览: 2

list是一个链表结构,主要功能是push,pop,获取一个范围内所有值等等,操作中key可以理解为链表的名字。


Redis的list类型实际上就是每个子元素都是string类型的双向链表,我们可以通过push,pop命令操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列。


list常见的操作:


(1)lpush和rpush


lpush表示在key对应的list的头部添加字符串元素。例如:lpush list Hello


rpush表示在key对应的list的尾部添加字符串元素。例如:rpush list World


(2)lpop和rpop


lpop代表从list的头部删除元素,并返回元素。


rpop代表从list的头部删除元素,并返回元素。


(3)lrange


取出指定范围内的元素。例如:lrange list 0 -1,0是第一个元素的下标,-1是最后一个元素的下标。


(4)linsert


在key对应的list的特定位置前或后添加字符串,例如:


linsert list before Hello Redis 表示在list链表的Hello前面插入一个元素Redis


(5)lset


设定list中指定下标的元素值,例如:lset list 1 Database,意思是把list中下标为1的元素替换为


Database。


(6)lrem


从key对应的list中删除n个和value相同的元素,如果n<0表示从尾部删除,n=0表示全部删除。


例如:lrem list 1 Hello


(7)ltrim


保留指定key范围内的数据。比如:ltrim list 1 -1,相当于只保留下表从1开始到最后的元素的值。


(8)rpoplpush


从第一个list的尾部移除元素并添加到第二个list的头部。例如:


(9)lindex


返回名称为key的list中index位置的元素。例如:lindex list 1,返回list中下标为1的元素。


(10)llen


返回key对应list的长度。