此處給出其上文的直達電梯:
基於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"okredis> 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:
1295351490
2016-02
支援本文:
Vue的資料繫結與生命週期
v model的指令的值對應建立vue例項中的data選項中的元素字段,在data選項中可以宣告應用內需要雙向繫結的資料。只要建立雙向繫結,修改其中任何乙個,另乙個也會一起變化。var mydata data mydata console.log a 1 修改屬性,原資料也會修改 console.l...
軟體測試技術 在軟體生命週期中測試的實施
1.軟體的生命週期 同任何事物一樣,軟體也有乙個孕育,誕生,成長,成熟,衰亡的過程,這個過程被稱為軟體生命週期 大致可分為以下幾個階段 制定規劃 系統與與軟體需求分析 軟體設計 程式設計與單元測試 整合與系統測試 執行與維護 每個階段都有每個階段要完成的任務 按以上階段的順序進行每個階段任務簡要的描...
軟體測試技術 在軟體生命週期中測試的實施
1.軟體的生命週期 同任何事物一樣,軟體也有乙個孕育,誕生,成長,成熟,衰亡的過程,這個過程被稱為軟體生命週期 大致可分為以下幾個階段 制定規劃 系統與與軟體需求分析 軟體設計 程式設計與單元測試 整合與系統測試 執行與維護 每個階段都有每個階段要完成的任務 按以上階段的順序進行每個階段任務簡要的描...