我想使redis中hashkey中设置的特定键/值对过期。但是redis会终止整个hashkey,其中的所有键值对都会丢失。例如,我只想从seqnu中删除key:666。使用jedis.setex是另一种选择,但您不能在其中设置哈希键。

jedis.hset("seqNu","666",System.currentTimeMillis()+"");
jedis.hset("seqNu","777",System.currentTimeMillis()+"");
jedis.expire("seqNu", 20); // This expires the whole HashKey: seqNu after 20 seconds

最佳答案

redis只会过期“整个”键,而不会过期其数据结构中的单个元素(例如散列字段或集合成员)。考虑将散列拆分为多个字符串键(每个键都可以自行过期)或使用此处解释的排序集:Redis: To set timeout for a key value pair in Set

09-05 11:00