Redis 使用思路

2021-09-24 10:00:19 字數 653 閱讀 9680

在專案中redis做快取的一些思路

首先,快取的物件有三種:

1:資料庫中單條的的資料(以表名跟id作為key永久儲存到redis),在有更新的地方都要更新快取(不適用於需要經常更新的資料);

2:對於一些不分頁,不需要實時(需要多表查詢)的列表,我們可以將列表結果快取到redis中,設定一定快取時間作為該資料的存活時間。用獲取該列表的方法名作為key,列表結果為value;這種情況只試用於不經常更新且不需要實時的情況下。

本人走過的一些彎路:

1.對於資料快取不是所有東西都快取到redis就是好的,而是要針對一些改動不大或者訪問率大的資料進行快取來減少關係型資料庫的壓力。

2.不要試圖在***或者過濾器中判斷是否有快取的存在,因為每個請求(不管該請求對應的方法是否做了快取)它都會去redis中請求資料並判斷,這樣會浪費一定的記憶體資源跟響應時間。所以應該針對需要快取的方法進行判斷。

3.乙個方法中使用多個get或者set的方法,我們需要盡可能的減少去jedispool中獲取jedis物件,所以在乙個方法中應該只獲取一次jedis物件,在方法結束的時候把該物件return還給連線池,這樣才能做到盡可能的高效。

4.在設定連線池中引數的時候要考慮到自身系統需求,不然會經常出現連線池中無可用物件獲取,spring時不時發起連線請求到redis等不必要的錯誤和資源浪費。

redis快取分頁思路

傳統分頁 一般分頁做快取都是直接查詢出來,按頁放到快取裡,但是這種快取方式有很多缺點。如快取不能及時更新,一旦資料有變化,所有的之前的分頁快取都失效了。比如像微博這樣的場景,微博下面現在有乙個頂次數的排序。這個用傳統的分頁方式很難應對。redis快取分頁 1.資料以id為key快取到redis裡 2...

redis快取分頁思路

傳統分頁 一般分頁做快取都是直接查詢出來,按頁放到快取裡,但是這種快取方式有很多缺點。如快取不能及時更新,一旦資料有變化,所有的之前的分頁快取都失效了。比如像微博這樣的場景,微博下面現在有乙個頂次數的排序。這個用傳統的分頁方式很難應對。redis快取分頁 1.資料以id為key快取到redis裡 2...

redis實現令牌桶演算法思路

1.常用的限流思路令牌桶演算法和漏桶演算法 直接令牌桶演算法 class tokenbucket public function construct config queue max 獲取令牌 public function get 新增令牌 param int num return int pub...