redis使用規范
1、設置超時時間[最重要]
目前有許多key沒有設置超時時間,導致一直占用內存。
需要增加操作步驟,設置超時時間。時間盡量短。
某些業務要求key長期有效。可以在每次寫入時,都設置超時時間,讓超時時間順延。
短的超時時間,如 5分鐘,10分鐘,30分鐘,1小時,3小時,1天等
長的超時時間,如 7天,15天,1個月,3個月,6個月等
示例代碼如下:
// 設置有效期 jedis.expire(cacheMapName, ZLConstant.SECONDS_1_MONTH);
// 如果存在key if (jedis.exists(mapName)) { existMap = true; } // 寫入登錄信息緩存 jedis.hset(mapName, cacheKey, userJson); // 如果是新建的,就設置超時時間 if (!existMap) { // 設置超時時間 jedis.expire(mapName, expireSeconds); }
2、高頻和低頻分離
高頻數據存入Redis緩存,低頻數據不要存入Redis緩存。
高頻數據是經常訪問的數據,在這里做好壓力緩沖就行了。對于大量數據和列表數據尤其適用。
如,某商店的所有評價數據,總共有5000條之多,最近的30條(高頻)可能是最常訪問的,可以存入Redis緩存,其他的數據(低頻)都不需要存緩存。
3、合理使用list,map,set等集合結構
結合具體業務,設置合理的數據結構,找出更好的選擇。
集合結構還可以減少key的個數。
4、盡量使用字符串格式
可視化,便于查看和管理。
特別是在大批量數據的時候,效果明顯。
5、合理設置key的格式
多系統在共用緩存,需要key唯一。
合適的key,便于查看,統計,排錯。
key的格式,如:系統名+業務名+業務數據+其他
6、減少key的個數
為了過期管理,合理減少key。
比如,把key-value數據聚合,放到map、list里面。一個集合結構里面就可以包含很多個小數據。
7、精細化運營
之前的使用方法一直是粗放式。業務量小時,沒問題;業務量大了,就各種問題。
為了未來系統穩定,為了每個人的職業成長,需要學會精細化運營。
深入分析業務流程,合理安排數據結構,合理使用公共資源,優化讀寫效率,提高系統抗風險能力。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!