鴻蒙OS 輕量級(jí)偏好數(shù)據(jù)庫概述

2020-09-18 16:09 更新

輕量級(jí)偏好數(shù)據(jù)庫主要提供輕量級(jí) Key-Value 操作,支持本地應(yīng)用存儲(chǔ)少量數(shù)據(jù),數(shù)據(jù)存儲(chǔ)在本地文件中,同時(shí)也加載在內(nèi)存中的,所以訪問速度更快,效率更高。輕量級(jí)偏好數(shù)據(jù)庫屬于非關(guān)系型數(shù)據(jù)庫,不宜存儲(chǔ)大量數(shù)據(jù),經(jīng)常用于操作鍵值對(duì)形式數(shù)據(jù)的場景。

基本概念

  • Key-Value 數(shù)據(jù)庫

一種以鍵值對(duì)存儲(chǔ)數(shù)據(jù)的一種數(shù)據(jù)庫,類似 Java 中的 map。Key 是關(guān)鍵字,Value 是值。

  • 非關(guān)系型數(shù)據(jù)庫

區(qū)別于關(guān)系數(shù)據(jù)庫,不保證遵循 ACID(Atomic、Consistency、Isolation及Durability)特性,不采用關(guān)系模型來組織數(shù)據(jù),數(shù)據(jù)之間無關(guān)系,擴(kuò)展性好。

  • 偏好

數(shù)據(jù)

用戶經(jīng)常訪問和使用的數(shù)據(jù)。

運(yùn)作機(jī)制

  1. 本模塊提供偏好型數(shù)據(jù)庫的操作類,應(yīng)用通過這些操作類完成數(shù)據(jù)庫操作。
  2. 借助 DatabaseHelper API,應(yīng)用可以將指定文件的內(nèi)容加載到 Preferences 實(shí)例,每個(gè)文件最多有一個(gè) Preferences 實(shí)例,系統(tǒng)會(huì)通過靜態(tài)容器將該實(shí)例存儲(chǔ)在內(nèi)存中,直到應(yīng)用主動(dòng)從內(nèi)存中移除該實(shí)例或者刪除該文件。
  3. 獲取到文件對(duì)應(yīng)的 Preferences 實(shí)例后,應(yīng)用可以借助 Preferences API,從 Preferences 實(shí)例中讀取數(shù)據(jù)或者將數(shù)據(jù)寫入 Preferences 實(shí)例,通過 flush 或者 flushSync 將 Preferences 實(shí)例持久化。

圖1 輕量級(jí)偏好數(shù)據(jù)庫運(yùn)作機(jī)制

點(diǎn)擊放大

約束與限制

  • Key 鍵為 String 類型,要求非空且大小不超過 80 個(gè)字符。
  • 如果 Value 值為 String 類型,可以為空但是長度不超過 8192 個(gè)字符。
  • 存儲(chǔ)的數(shù)據(jù)量應(yīng)該是輕量級(jí)的,建議存儲(chǔ)的數(shù)據(jù)不超過一萬條,否則會(huì)在內(nèi)存方面產(chǎn)生較大的開銷。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)