海量資料的查詢快取問題
現在面臨一張使用者使用記錄表,可能達到千萬級的資料量,使用者在基本操作完成後(插入資料),都會查詢下記錄。使用者本身的使用記錄數不多,而且也能通過時間來控制查詢的條數,但是我們用的是MEMCACHED相對資料進行快取,但是遇到了一個問題。
個人認為快取僅僅作為一種附屬品而存在,是為了提高效能,應該不深入到業務邏輯裡面。快取伺服器的shutdown也不應該影響主業務的執行。
快取的應用在頻繁訪問資料,而且更新不是特別頻繁的資料上才能達到很好的效果。存入庫裡的資料不會出現更新的情況,只有使用者增加和刪除相應使用記錄的情況。
這裡我有個問題:如果當前使用者的查詢已經在快取中存在,但是使用者插入一條記錄,這個時候是要更新快取,或者是將原有快取清除。
1.如果更新快取:這種方式就會存在更新快取失敗的情況,而此時也不能讓庫中資料回滾(干擾業務),但是使用者再次查詢就會到快取中獲取。資料不一致的情況出現。
2.如果將原有快取清除,也會遇到清除失敗的情況,此時也會遇到不一致。
快取有個失效策略和失效時間,但是我們這個專案大量依賴於快取,而且設定為快取設定為不失效。所以才會在很多地方都是來操作快取更新欄位,但是一旦更新快取失敗,資料就永遠也對應不上了。對此我強烈的反對此做法,但是決定不了什麼。
所以請問各位在利用快取處理海量資料問題上有什麼好的方法來做?
相關文章
- 海量資料查詢問題--簡單的理解
- 關於快取與資料查詢次數的問題快取
- 關於海量資料的獲取問題
- 關於分頁查詢結果的快取問題快取
- Laravel Eloquent 關聯模型查詢快取資料Laravel模型快取
- 併發查詢資料庫問題資料庫
- 方法快取與查詢快取
- Laravel Passport OAuth 資料庫查詢改快取優化LaravelPassportOAuth資料庫快取優化
- 直播賣貨系統,使用資料庫查詢快取資料庫快取
- mysql的查詢快取說明MySql快取
- hibernate的查詢快取薦快取
- 快取的問題快取
- CQengine高效能記憶體資料快取查詢框架記憶體快取框架
- Laravel Passport OAuth 資料庫查詢改快取最佳化LaravelPassportOAuth資料庫快取
- redis 快取 singlefly 查詢Redis快取
- hibernate的查詢快取和二級快取的配合使用快取
- 看看我的jboss查詢資料來源的問題
- 快取同步的問題快取
- 資料庫分組查詢最大值的問題資料庫
- 關於下拉選單查詢資料庫的問題資料庫
- mysql查詢快取簡單使用MySql快取
- Mysql 查詢快取 query_cacheMySql快取
- IE瀏覽器中ajax使用快取資料的問題瀏覽器快取
- [求助] 關於ehcache叢集快取同步資料的問題快取
- 圖解大資料 | 海量資料庫查詢-Hive與HBase詳解圖解大資料資料庫Hive
- 海量資料相似度計算之simhash短文字查詢
- 【IT老齊074】海量資料大頁碼MySQL查詢MySql
- 查詢快取(query_cache)的影響快取
- beego快取問題Go快取
- SOAP快取問題快取
- Ibatis 中文條件查詢不到資料問題BAT
- APP 快取資料執行緒安全問題探討APP快取執行緒
- 面對海量請求,快取設計還應該考慮哪些問題?快取
- 阿里一面:關於【快取穿透、快取擊穿、快取雪崩、熱點資料失效】問題的解決方案阿里快取穿透
- 快取問題(一) 快取穿透、快取雪崩、快取併發 核心概念快取穿透
- day03-商家查詢快取02快取
- MySQL查詢快取引數詳解MySql快取
- 資料庫資料的查詢----連線查詢資料庫