利用redis维护topN集合

我有一个需求,就是维护最近N条浏览历史,下面记录一下这个小技巧。

我们用redis来实现:

用pipeline向List左侧lpush多个新元素,然后利用ltrim保留List左侧的N个元素。

因为使用pipeline把插入和删除做成了批量提交,所以性能很不错。

另外,ltrim的实现是从List右侧向左删除,所以时间复杂度只与要删除的元素个数相关,性能也很好~

 

发表评论

电子邮件地址不会被公开。