HyperLogLog s占用12KB空间。我在文档中没有看到有关何时释放该存储空间的任何信息。
我目前的计划是调用EXPIRE
每次我打电话PFADD
,但我找不到太多关于过期 HLL 的讨论,所以我想知道我是否做错了......
我计划使用 HLL 实时计算我网站上的活跃访问者数量。我只想保留过去一小时的计数,释放比这更早的任何内容。
最佳答案
不,您不能使添加到 HLL 的项目过期。相反,EXPIRE
命令将使整个 HLL 过期。
为了实现您的目标,您可以每小时创建一个 HLL,并在一段时间后使整个 HLL 过期。
// for the 2019082200
PFADD user:2019082200 user1
// also set expiration for the HLL, and expire it after 10 hours
EXPIRE user:2019082200 36000
// add more users
PFADD user:2019082200 user2
// until the next hour, create a new HLL for the next hour
PFADD user:2019082201 user1
EXPIRE user:2019082201 36000
关于redis - 如何使 Redis 中的 HyperLogLog 过期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57600414/