[英]How can I make sure my DB cache is current?
我有一個昂貴的操作,它調用數據庫,並填充一個對象數組以供組合框使用。 由於可能需要2分鍾左右的時間,因此我會在啟動時對其進行緩存。
當用戶需要使用這些組合框時,我需要確保它們具有當前數據。 我怎樣才能做到這一點?
我將猜測數據經常更改。 在這種情況下,我將在INSERT
, UPDATE
或DELETE
上創建一個觸發器,以計算存儲在某些暫存器表中的校驗和/ CRC。 當您填充列表框時,檢索該值,然后與該值進行比較。 這將很好地指示數據是否已更改。
一個更簡單的替代解決方案是僅存儲上次更新的日期/時間,而不是校驗和。
在一個應用程序中,我們在表中添加了兩列:IsActive和LastUpdate。 IsActive代替直接刪除記錄。 LastUpdate是一個時間戳,指示上一次更新每個記錄的時間。 SELECT WHERE LastUpdate > '<your-previous-check>'
將為您列出您需要應用的更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.