使用Redis geoadd时如何设置过期

时间:2015-10-18 09:15:16

标签: redis geospatial

我在Redis上使用新的地理空间功能。 我知道在幕后它正在使用ZSET。

我正在以这种方式添加新条目:

GEOADD" "report-geo-set" "4.78335244" "32.07223969" "jossef"

我如何为特定记录添加过期(在我的情况下:“jossef”)

在我的设置上?

如果API没有提供,那么有什么解决方法吗?

谢谢, 射线。

1 个答案:

答案 0 :(得分:4)

遗憾的是没有 - Redis会使整个键失效,而不是各自数据结构中的值。 Geo Hashes在顶部排序集上实现,不支持单个成员到期。

您可以做的是维护一个额外的排序集,并为其中的每个成员存储过期时间戳作为分数。然后,定期根据ZRANGEBYSCORE从中获取需要过期的成员,并从Geo Hash中“手动”ZREM各自的成员。