2015-10-18 38 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'會爲你做這件事 –

相關問題