可以結合自己的項目講講,比如
熱點數據的緩存
緩存是Redis最常見的應用場景,之所有這么使用,主要是因為Redis讀寫性能優異。而且逐漸有取代memcached,成為首選服務端緩存的組件。而且,Redis內部是支持事務的,在使用時候能有效保證數據的一致性。
限時業務的運用
redis中可以使用expire命令設置一個鍵的生存時間,到時間后redis會刪除它。利用這一特性可以運用在限時的優惠活動信息、手機驗證碼等業務場景。
計數器相關問題
redis由于incrby命令可以實現原子性的遞增,所以可以運用于高并發的秒殺活動、分布式序列號的生成、具體業務還體現在比如限制一個手機號發多少條短信、一個接口一分鐘限制多少請求、一個接口一天限制調用多少次等等。
分布式鎖
這個主要利用redis的setnx命令進行,setnx:"set if not exists"就是如果不存在則成功設置緩存同時返回1,否則返回0 ,這個特性在俞你奔遠方的后臺中有所運用,因為我們服務器是集群的,定時任務可能在兩臺機器上都會運行,所以在定時任務中首先 通過setnx設置一個lock,如果成功設置則執行,如果沒有成功設置,則表明該定時任務已執行。 當然結合具體業務,我們可以給這個lock加一個過期時間,比如說30分鐘執行一次的定時任務,那么這個過期時間設置為小于30分鐘的一個時間就可以,這個與定時任務的周期以及定時任務執行消耗時間相關。 在分布式鎖的場景中,主要用在比如秒殺系統等。