資料庫前端快取

2021-08-25 19:47:40 字數 481 閱讀 1062

一、資料庫快取失效問題

有兩個選擇:

1、既修改資料庫又修改快取

2、只修改資料庫讓快取失效

選2,因為直接修改快取裡的值操作麻煩。只修改資料庫的值,通過指令讓快取失效,程式會自動從資料庫中查詢出記錄,更新到快取中

接下來又有兩個選擇:

1、先修改資料庫再讓快取失效

2、先讓快取失效再修改資料庫

選2,因為考慮到操作分為兩步,如果第一步成功,第二步失敗了?

先修改資料庫再讓快取失效,會導致請求還是讀取快取中的舊值,而先讓快取失效再修改資料庫,如果第二步失敗了,不影響使用

考慮多執行緒的情況:

1、第乙個執行緒執行緒進來動作是讓快取失效了

2、這時候第二個請求執行緒進來,發現快取失效了,就從資料庫中讀取值,更新了快取,這樣快取中還是舊的值

3、因為多執行緒執行順序不確定,看cpu時間片分配

所以訪問同乙個資料庫需要同乙個連線物件,保證資料庫層面一定是序列

資料庫快取

用資料庫 將要儲存的nsarray 或 nsdictionary 物件 轉為nsdata型別。再將nsdata存到資料庫的blob中。若將nsarray直接存到資料庫 那麼資料庫中儲存的是 nsstring型別的資料而不是nsarray物件本身,因此要轉為nsdata型別。方法如下 將oc物件轉為n...

快取資料庫

資料庫快取,當沒有網路時,拿取資料庫 內容,當重新整理資料時,清空資料庫內容,從新新增 建立資料庫類方法 package com.example.administrator.xie.dao import android.content.context import android.database....

資料庫快取

資料庫從伺服器上讀取資料時,可以從硬碟的資料檔案中獲取資料,也可以從資料庫快取中讀取資料。現在資料庫管理員需要搞清楚的是,在什麼樣的情況下,系統是從快取中讀取資料,而不是從硬碟的資料檔案中讀取資料?簡單的說,資料快取就是記憶體中的一塊儲存區域,其儲存了使用者的sql文字以及相關的查詢結果。通常情況下...