key名設計:
規範化,以資料庫名為字首,防止key衝突,用冒號分隔,如下:(資料庫名:表名:id)
tlz:order:1
簡潔性,保證語義的前提下,控制key的長度,應該使用簡寫
不要包含特殊字元,不要包含空格、換行、單雙引號以及其他符號
value設計:
拒絕bigkey,防止慢查詢,string型別控制在10k以內,hash、lish、set、zset元素個數不要超過5000
控制key的宣告週期:
建議使用expire設定過期時間,盡量打散過期時間,不要集中過期
禁用命令:
禁止線上使用keys、flushall、flushdb等,通過redis的rename機制禁掉命令,或者使用scan的方式漸進式處理。因為redis是單執行緒執行,容易導致線上不可用.
scan命令是通過游標分步進行,不會阻塞執行緒,提供count引數,不是結果數量,是redis單次遍歷字典數量,同keys一樣也提供模式匹配功能。
scan 0 match user_token* count 5 #從0開始遍歷,返回新游標,下次查詢從新游標開始遍歷
合理使用select:
redis的多資料庫較弱,使用數字進行區分,很多客戶端支援較差,同時多業務用多資料庫實際還是單執行緒處理,會有干擾
盡量使用批量操作提高效率:
原生命令:例如mget、mset;非原生命令:可以使用pipeline提高效率。
但要注意控制一次批量操作的元素個數(例如500以內,實際也和元素位元組數有關)。
**
Redi學筆記 Redis簡介
易擴充套件 nosql資料庫種類繁多,但是乙個共同的特點都是去掉關聯式資料庫的關係型特性。資料之間無關係,這樣就非常容易擴充套件。也無形之間,在架構的層面上帶來了可擴充套件的能力。高效能 nosql資料庫都具有非常高的讀寫效能,尤其在大資料量下,同樣表現優秀。這得益於它的無關係性,資料庫的結構簡單。...
windows下安裝redis和redis擴充套件
開啟乙個 cmd 視窗 使用cd命令切換目錄到 c redis 執行 redis server.exe redis.windows.conf 如果想方便的話,可以把 redis 的路徑加到系統的環境變數裡,這樣就省得再輸路徑了,後面的那個 redis.windows.conf 可以省略,如果省略,會...
Redis(一)基於docker安裝redis
sudo apt update sudo apt install build essential 如果要驗證gcc編譯器是否已經安裝完畢,可以使用 gcc version來列印gcc版本號。docker pull redisdocker run rm d name redis 6379 p 6379...