redis快速入门预览.ppt

* * * * * * * * * * * * * * * List redis的list类型其实就是一个每个子元素都是string类型的双向链表。我们可以通过push,pop操作从链表的头部或者尾部添加删除元素。这使得list既可以用作栈,也可以用作队列。 list的pop操作还有阻塞版本的。当我们[lr]pop一个list对象是,如果list是空,或者不存在,会立即返回nil。但是阻塞版本的b[lr]pop可以则可以阻塞,当然可以加超时时间,超时后也会返回nil。为什么要阻塞版本的pop呢,主要是为了避免轮询。举个简单的例子如果我们用list来实现一个工作队列。执行任务的thread可以调用阻塞版本的pop去获取任务这样就可以避免轮询去检查是否有任务存在。当任务来时候工作线程可以立即返回,也可以避免轮询带来的延迟。 List相关命令 lpush key string 在key对应list的头部添加字符串元素,返回1表示成功,0表示key存在且不是list类型 rpush key string 同上,在尾部添加 llen key 返回key对应list的长度,key不存在返回0,如果key对应类型不是list返回错误 lrange key start end 返回指定区间内的元素,下标从0开始,负值表示从后面计算,-1表示倒数第一个元素 ,key不存在返回空列表 ltrim k

文档评论(0)

1亿VIP精品文档

相关文档