使用Redis geoadd时如何设置过期

How to set expire when using Redis geoadd

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

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

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

如何为特定记录添加过期时间(在我的例子中:"jossef")

在我的片场?

如果 API 没有提供,是否有任何解决方法?

谢谢, 雷.

遗憾的是没有 - Redis 会过期整个键,而不是它们各自数据结构中的值。 Geo Hashes 在 top Sorted Sets 上实现,不支持单个成员的过期。

您可以做的是维护一个额外的 Sorted Set,并将其中的每个成员的过期时间戳存储为分数。然后,定期地,根据 ZRANGEBYSCORE 和 "manually" ZREM 从你的 Geo Hash 中获取需要过期的成员。