介紹: redis是單執行緒 底層使用多路io復用
持久化方式:
如何保證快速並完整的恢復資料
redis 4.0以後可以混合持久化
以rdb的方式全量持久化記憶體資料保證資料恢復並以增量的方式持久化修改命令保證資料完整性 最終以rdb和aof共存的方式寫入檔案
redis實現分布式鎖
在redis中設定乙個key標識 如果key存在標識獲取鎖成功 如果key不存在表示資源處於空閒狀態 加鎖的過程就是判斷鎖是否存在,如果不存在就加鎖(判斷key是否存在和新增鎖的時候必須是原子操作 可以使用redis的sentx方法)如果使用完畢刪除key釋放鎖。如果持有鎖的節點在釋放鎖的時候死機會無法釋放鎖,所以在新增key的時候要新增乙個過期時間,設定過期時間就有可能會出現 操作未完成就已經釋放鎖了,所以最終操作為:當操作redis時新增乙個key 同時啟動乙個續命執行緒 當過期時間剩餘1/3時給key進行續命,當使用完畢後刪除key並關閉續命執行緒 這樣就算宕機續命執行緒也會自動停止 不會出現死鎖
如何保證mysql和redis的資料一致性
使用延遲雙刪設計 先刪除redis 再更新資料庫 然後隔一段時間後再刪除redis
Redis知識點總結
fifo first in first out,先進先出。判斷被儲存的時間,離目前最遠的資料優先被淘汰。lru least recently used,最近最少使用。判斷最近被使用的時間,目前最遠的資料優先被淘汰。lfu least frequently used,最不經常使用。在一段時間內,資料被...
Redis知識點總結
當然如果只是將少量資料儲存作為快取並且沒有持久化的需求,那麼完全可以用map做快取。redis相較於語言的對映的優勢 redis 可以用幾十 g 記憶體來做快取,map 不行,一般 jvm 也就分幾個 g 資料就夠大了。redis 的快取可以持久化,map 是記憶體物件,程式一重啟資料就沒了。red...
Redis必會知識點總結
redis是完全開源的,遵守bsd協議,是乙個高效能的key value資料庫。redis與其他key value快取產品有以下三個特點 redis支援的資料型別?什麼是redis持久化?redis有哪幾種持久化方式?優缺點是什麼?redis有哪些架構模式?講講各自的特點 使用過redis分布式鎖嗎...