場景:前提為多業務使用的是同乙個redis,多業務間用redis,會出現很多快取key,根本沒法知道哪些key是屬於哪個業務的,如:key: user:1000、user:book、book、user:like:book、book:user;甚至會出現key衝突。
解決方案:就是強制在方法中,要開發人員賦予業務區分,每個業務都是在開發前,管理人員定下來的,這個管理就比較簡單了。以業務簡碼作為redis key的字首。
場景: 我們在開發web服務時,會用類似jedis客戶端連線redis伺服器,會在配置檔案中加入redis集群位址。不過當系統遇到redis負載太高,或者redis的資料需要擴容,就需要增加redis伺服器。這時就需要重新把配置檔案中的redis集群更改,再重啟應用。
解決方案:原理比較簡單,就是程式如果能夠知道redis集群位址產生了變化,重新設定一下jedis客戶端的連線配置。現在的問題就是如何知道redis集群位址發生了改變?
我們可以採用把redis的集群位址配置在zookeeper中,應用在啟動的時候,獲取zk上的集群位址的值,進行初始化。如果想要改變集群位址,要在zk上面進行設定。
場景:因為不同的業務,不同的團隊,不同的開發人員在真實業務場景中,我們管理者是無法避免bug存在的,也無法**線上會發生什麼樣的問題?如:發現redis集群有不穩定情況,cpu負載非常高,那我們怎麼知道是哪個業務導致的呢?
解決方案:
1. 問題本質: 發現異常這個問題,其實就是乙個監控的問題,我們需要把各個客戶端使用redis的情況進行監控。怎麼監控? 需要乙個監控工具,這個監控工具網上有幾個,推薦使用小公尺的open-falcon。
2. redis使用:再使用aop攔截redis操作類,攔截redis操作,把相關資料進行封裝。每隔1分鐘把這些資料上報到open-falcon平台中。具體監控什麼資料,由業務決定,一般要把設定的key,業務,操作時長,哪個客戶端ip發起的,都需要監控。在可以設定相關的報警規則,如:某個key一直被呼叫,在一段時間內操作次數太高。這樣就可以方便排查哪些key導致cpu負載太高,就可以去看一下設定這個key的**,有沒有什麼問題?是不是死迴圈等問題?
Redis使用技巧
在使用redis的時候,經常遇到connection refuse的錯誤,其實這是因為redis配置引數的問題導致的,以下是redis的一些配置引數。public class jdispooluitls public static void pingredis public static jedis...
Redis使用技巧
前言 redis 在當前的技術社群裡是非常熱門的。從來自 antirez 乙個小小的個人專案到成為記憶體資料儲存行業的標準,redis已經走過了很長的一段路。隨之而來的一系列最佳實踐,使得大多數人可以正確地使用 redis。下面我們將探索正確使用 redis 的10個技巧。1 停止使用 keys o...
Redis 使用技巧
redis 現在非常受歡迎,似乎已經成為記憶體資料儲存行業的標準。本人結合平時使用redis經驗,也同時查詢了一些網上別人的總結經驗,總結以下幾條redis使用技巧。1.停止使用 keys 眾所周知,key指令可以很方便的讀取資料,但是隨著redis中key數量的增多,當key數量越大,keys 命...