過期不候 具備生命週期的資料的技術實現方案

2021-09-07 07:21:26 字數 1532 閱讀 5700

此處給出其上文的直達電梯:

基於token的多平台身份認證架構設計

所謂的「資料生命週期」是指:為資料設定一定的生存期限,過了這個時間後, 此資料就被刪除掉(失效)。

在進行web開發的時候,有很多需求場景是要求資料是具有一定的生命週期,比如:

本文將以如下兩種資料庫特性為例子來對此功能的實現進行介紹:

在mongodb中有個ttl(time to live 生存時間)索引功能:

ttl索引是一種特殊索引,通過這種索引mongodb會過一段時間後自動移除集合中的文件。 這對於某些型別的資訊來說是乙個很理想的特性,例如: 機器生成的事件資料,日誌,會話資訊等,這些資料都只需要在資料庫中儲存有限時間。

mongodb中的實現方式:

db.ttl_log_session.createindex( ,  )

主要解釋如下:

達到的效果:以lastmodifieddate時刻開始,經過3600秒之後,此文件會失效被刪除掉。

刪除操作的一些注意事項:

redis是乙個記憶體資料庫,它具備快速io的特點。在效能上會比mongodb進行大幅度提公升。

通過如下方式:

expire key seconds

為給定的key設定生存時間,當key過期時(生存時間為0),它會被自動刪除。

如下是一些設定生存時間相關的基本操作:

redis> set cache_page "www.google.com"ok

redis> expire cache_page 30 # 設定過期時間為 30秒

(integer) 1redis>ttl cache_page # 檢視剩餘生存時間

(integer) 23redis> expire cache_page 30000# 更新過期時間

(integer) 1redis>ttl cache_page

(integer) 29996

注意事項:

在進行web開發過程中,很多場合都需要用到資料的生命週期的功能。 關於如何實現此功能時,可以參考如下結論後再進行相應的技術選型:

本文關於"資料生命週期"主題的主要結論如下:

在進行技術選型時注意在如下幾個特性上進行比較:

io速度

資料持久化

資料的備份和複製集

資料庫對多核心的利用

資料庫集群的部署的成本和難度

開發的成本和難度

最終能夠得出合適自己的技術方案,實現自己系統的功能。

harmo哈莫

作者介紹:

技術部落格:

email:

[email protected]

1295351490

2016-02

支援本文:

Vue的資料繫結與生命週期

v model的指令的值對應建立vue例項中的data選項中的元素字段,在data選項中可以宣告應用內需要雙向繫結的資料。只要建立雙向繫結,修改其中任何乙個,另乙個也會一起變化。var mydata data mydata console.log a 1 修改屬性,原資料也會修改 console.l...

軟體測試技術 在軟體生命週期中測試的實施

1.軟體的生命週期 同任何事物一樣,軟體也有乙個孕育,誕生,成長,成熟,衰亡的過程,這個過程被稱為軟體生命週期 大致可分為以下幾個階段 制定規劃 系統與與軟體需求分析 軟體設計 程式設計與單元測試 整合與系統測試 執行與維護 每個階段都有每個階段要完成的任務 按以上階段的順序進行每個階段任務簡要的描...

軟體測試技術 在軟體生命週期中測試的實施

1.軟體的生命週期 同任何事物一樣,軟體也有乙個孕育,誕生,成長,成熟,衰亡的過程,這個過程被稱為軟體生命週期 大致可分為以下幾個階段 制定規劃 系統與與軟體需求分析 軟體設計 程式設計與單元測試 整合與系統測試 執行與維護 每個階段都有每個階段要完成的任務 按以上階段的順序進行每個階段任務簡要的描...