簡體   English   中英

Aerospike 為特定字段設置到期日期

[英]Aerospike set expiration date for specific field

我有一個 Aerospike 緩存,其中包含類似結構的 json 值的數據列表。

示例值: {"name": "John", "count": 10}

如果可以僅為計數字段設置過期時間並在一段時間后將其重置,我正在徘徊。

另一種方法是在您的 bin 數據中添加您自己的自定義過期時間戳,如下所示: {"name":"John", "count":10, "validTill":1672563600000000000}

在這里,我使用如下(您可以使用不同的未來時間戳格式):

$ date --date="2023-01-01 09:00:00" +%s%N
1672563600000000000

現在,當您閱讀記錄時,請通讀一個表達式,如果您當前的時鍾落后於validTill ,則返回count = 10,否則返回 0。 如果您只關心讀取時的數值,這將起作用。 此外,當您 go 在以后的寫入中更新計數值時,您可以使用相同的表達式邏輯來更新countvalidTill

如果這對您有用,您就不必使用后台作業掃描和更新記錄。

Aerospike 不支持開箱即用的此類功能。 我想您必須對此進行編碼(因此我猜您的另一篇文章: 在 Aerospike 中更新單個字段的最佳方法)。 您可以添加過濾器以僅基於記錄的元數據(記錄的最后更新時間,可通過表達式訪問)或任何其他邏輯執行此操作,然后讓后台操作查詢工作應該非常高效和高性能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM