2015-10-18 37 views
4

我在Redis上使用新的地理空间功能。 我知道在幕后使用ZSET。如何在使用Redis地理加载时设置到期

我添加新条目是这样的:

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

我怎么能添加一个到期的特定记录(在我的情况:“jossef”)

我一套?

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

谢谢, 射线。

回答

3

令人遗憾的是,Redis过期了整个密钥而不是它们各自数据结构中的值。 Geo哈希在顶层Sorted集上实现,并且不支持单个成员的到期。

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

+0

Gotcha。如何通过密钥从地理空间中删除记录? – rayman

+0

如何在我的例子中你会删除包含“jossef”的记录 – rayman

+0

'ZREM report-geo-set jossef'会为你做这件事 –

相关问题