我正在使用Redis的新地理空间功能。我知道在幕后它使用了ZSET。
我是通过以下方式添加新条目的:
GEOADD" "report-geo-set" "4.78335244" "32.07223969" "jossef"
我应该如何为特定记录(在我的情况下是“jossef”)添加到期时间?
如果API没有提供此功能,是否有任何解决方法?
谢谢, 雷。
我正在使用Redis的新地理空间功能。我知道在幕后它使用了ZSET。
我是通过以下方式添加新条目的:
GEOADD" "report-geo-set" "4.78335244" "32.07223969" "jossef"
我应该如何为特定记录(在我的情况下是“jossef”)添加到期时间?
如果API没有提供此功能,是否有任何解决方法?
谢谢, 雷。
很遗憾,Redis只能过期整个键,而不能过期其各自数据结构中的值。Geo Hashes是在Sorted Sets之上实现的,不支持单个成员的过期。
您可以维护一个额外的Sorted Set,并为其中的每个成员存储过期时间戳作为分数。然后,定期地根据ZRANGEBYSCORE从中获取需要过期的成员,并从您的Geo Hash "手动" ZREM相应的成员。
ZREM report-geo-set jossef
会为您执行此操作。 - Itamar Haber