首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除LRU上的Redis Hash Key字段

删除LRU上的Redis Hash Key字段
EN

Stack Overflow用户
提问于 2018-03-01 15:20:15
回答 1查看 439关注 0票数 0

如何在Redis上设置LRU,它不是在实例级别上,而是在一些特定的级别上。让我们来看一个哈希表。我使用hash-key作为缓存桶,使用field作为key,value作为value。所以对我来说就像:Redis;的key-field-value = type-key-field。

如果它不是直接的,那么我想使用另一个DB级LRU。(一个Redis实例有16个DB,我想使用DB 1作为LRU,这意味着DB 1中的所有内容都将遵循LRU,而DB-2中的内容将遵循LRU。不会跟随LRU )。

EN

回答 1

Stack Overflow用户

发布于 2018-03-03 14:28:21

我用Hash +排序集实现了它。

在我的例子中,相当于Redis规范的是:

散列键、字段、值=类型、键、值

排序集: key,score,value =类型,lru_counter,key

(取最小的范围(如果你想删除5个元素,zrange(type,0,4) ),这将给你最近最少使用的5个键)

哈希将存储实际的缓存。排序集将只存储带有分数的关键字(作为成员)。redis散列中的每个put和get (在任何键上)都将递增lru_counter (一个整数变量),并将条目放入具有相同键(类型、lru_counter、键)和lru_counter分数的排序集中。

因此,最近的put/get将在同一关键字的排序集中具有最高得分( lru_counter )值。

当涉及到删除时,我删除得分最低的成员( zrange,这是Hash的关键字),并从排序集和Hash中删除。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49044527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档