HyperLogLog占用 12KB 的空间。我在文档中看不到有关何时释放该存储空间的任何内容。
我目前的计划是EXPIRE
每次打电话都打电话PFADD
,但我找不到太多关于过期 HLL 的讨论,所以我想知道我是否做错了......
我计划使用 HLL 实时计算我网站上的活跃访问者数量。我只想保留过去一小时的计数,释放比这更早的任何东西。
HyperLogLog占用 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