提高快取命中率

2021-10-05 11:04:14 字數 870 閱讀 7089

原因是快取不存在或者快取已過期

通過redis提供的info命令檢視引數

命令:

127.0.0.1> info
輸出:

expired_keys:2061008

evicted_keys:0

keyspace_hits:19528495

keyspace_misses:2915371

計算公式:命中率=擊中數量/(keyspace_hits(擊中數量)+keyspace_misses(未擊中數量))

良好的系統可以保持命中率在95%以上

快取適合做「讀多寫少」的場景。反之,資料放進快取就不合理了。業務場景和需求要求快取的時效性,也會影響快取的更新策略和更新時間,即時效性越低越適合做快取,快取時間越長,其命中率就越高

粒度越小,命中率越高。粒子指的是儲存物件的單位,如儲存使用者資訊,儲存單個物件和儲存所有物件的集合相比,前者粒子較小。因為當乙個使用者物件發生變化時,都需要移除或更新快取。此外,快取的更新/過期策略也會影響命中率,當資料發生變化時,更新快取會比移除快取命中率更高。

如果快取的容量有限,也容易導致快取失敗或者失效。而選擇快取的架構也是可以提高命中率,因為單繼快取畢竟沒有集群分布式快取容易擴充套件。其效率和穩定性也存在差異。

當快取節點發生故障時,需要避免快取失效並最大程度降低影響,這種情況就要用到redis的哨兵模式+redis的主從來解決了。

Memcache 提高快取命中率

1 2 3 4 define admin username admin define admin password admin memcache servers 127.0.0.1 11211 memcache servers 127.0.0.1 11212 可以多個監控 效果圖如下 問題出現了 發...

如何提高快取命中率

命中 可以直接通過快取獲取到需要的資料。不命中 無法直接通過快取獲取到想要的資料,需要再次查詢資料庫或者執行其它的操作。原因可能是由於快取中根本不存在,或者快取已經過期。通常來講,快取的命中率越高則表示使用快取的收益越高,應用的效能越好 響應時間越短 吞吐量越高 抗併發的能力越強。由此可見,在高併發...

快取命中率

安裝 docker redis 查詢乙個不存在的key 127.0.0.1 6379 get test nil 在看命中率 新插入乙個值 name 127.0.0.1 6379 set name jackma ok查詢name 127.0.0.1 6379 get name jackma 再看命中率...