删除LRU上的Redis Hash Key字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除LRU上的Redis Hash Key字段相关的知识,希望对你有一定的参考价值。

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

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

答案

我用Hash + Sorted Set实现了它。

在我的情况下相当于Redis规范是:

哈希键,字段,值=类型,键,值

排序集:键,分数,值=类型,lru_counter,键

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

哈希将存储实际缓存。排序集将存储Just键(作为成员)和分数。每次put和get in redis散列(在任何键上)都将增加lru_counter(一个整数变量),并将条目放入带有相同键(type,lru_counter,key)和lru_counter得分的有序集合中。

因此,最近的put / get将在同一密钥的Sorted Set中具有最高分(lru_counter)值。

当涉及到删除时,我拿出得分最低的成员(zrange,这是Hash的关键)并从Sorted Set和Hash中删除。

以上是关于删除LRU上的Redis Hash Key字段的主要内容,如果未能解决你的问题,请参考以下文章

Redis 哈希(Hash)命令

Redis 哈希(Hash)

(基本知识)Redis 哈希(Hash)相关命令函数

redis中hash的key怎么用命令查看

memcached和redis缓存

Redis哈希表Hash操作