團隊內部redis使用約定
為了避免再次出現因redis使用不當,而造成異常影響業務,以及方便後期運維,故而經團隊內部人員協商,出具redis使用規範,通過規範使用更好、更高效,更安全的使用redis快取。
關於文件中「能願動詞」的使用,參考psr使用規範的定義
為了避免歧義,文件大量使用了「能願動詞」,對應的解釋如下:鍵值設計
redis key命名應該具有可讀性以及可管理行,不該使用含義不清的key以及特別長的key名;
redis key命名必須全部由小寫字母、數字、英文點號(.)和英文半形冒號(:)組成,必須以英文本母開頭;
redis key命名必須按照模組區分字首,具體模組定義參照上述模組劃分中的內容,邏輯含義段必須使用英文半形冒號(:)分割,單詞之間必須使用英文半形點號(.)分割,一定不可使用殊字元(下劃線、空格、換行、單雙引號以及其他轉義字元等);
redis key命名必須以key所代表的value型別結尾,見到key即可知道儲存資料型別,以提高可讀性;
總結,命名規範為 業務模組名:業務邏輯含義:其他:value型別
user:uid:1:string
業務規範
redis應該定位為快取資料,除特殊需求外,聊天等
redis,應該設定過期時間
redis的使用,應該考慮冷熱資料分離,不該將所有資料全部放到redis中,對於使用不頻繁,且無關的日誌等存入mysql,或正常的日誌檔案系統中
redis的資料儲存全部都是在記憶體中的,成本昂貴。應該根據業務只將高頻熱資料儲存到redis中,對於低頻冷資料可以使用mysql/mongodb等基於磁碟的儲存方式,不僅節省記憶體成本,而且資料量小在操作時速度更快、效率更高
對於必須要儲存的大文字資料應該壓縮後儲存
對於大文字寫入到redis時,要壓縮後儲存。大文字資料存入redis,除了帶來極大的記憶體占用外,在訪問量高時,很容易就會將網絡卡流量佔滿,進而造成整個伺服器上的所有服務不可用,並引發雪崩效應,造成各個系統癱瘓
線上redis一定不可使用keys正則匹配操作
選擇合適的資料型別
內部類的規範和使用
j ase中,對於內部類這一知識點,我們用的最多的應該是匿名內部類,但是我們經常在各種原始碼中見到各種內部類,因此,為了更好的理解和使用內部類,我在下面記錄了自己理解 package com.yanke.innerclass public class outer 1 該內部類可以使用private ...
Redis筆記 阿里推薦Redis使用規範
key名設計 規範化,以資料庫名為字首,防止key衝突,用冒號分隔,如下 資料庫名 表名 id tlz order 1 簡潔性,保證語義的前提下,控制key的長度,應該使用簡寫 不要包含特殊字元,不要包含空格 換行 單雙引號以及其他符號 value設計 拒絕bigkey,防止慢查詢,string型別...
Redis 協議規範
3.如何快速插入億級的鍵值對 4.碎碎念 5.參考資料 偶然間跟同事討論起 redis 的 client 和 server 之間傳輸資料的協議是什麼樣子的,以set hello world為例 我 set hello 5 r nworld r n 同事 z 3 r n 3 r nset r n 5 ...