redis之(十一)redis實現快取的功能

2021-09-22 17:33:56 字數 663 閱讀 1360

[一]redis實現快取的原理

--->利用鍵的失效時間設定實現快取技術

--->由於redis的記憶體有限,可以在redis的配置檔案裡設定maxmemory的引數。來限制redis最大可用記憶體的大小。(單位是位元組),當超出這個限制的時候,redis可以依據maxmemory-policy引數指定的策略來刪除不需要的鍵直到redis占用的記憶體小於指定記憶體

--->lru(least recently used)最近最少使用

--->事實上redis並不回準確低將整個資料庫中最久未被使用的鍵刪除。而是每次從資料庫中隨機取3個鍵並刪除這3個鍵中最久未被使用的鍵。刪除過期時間最接近的鍵也是這個方法。「3」這個數字可以通過redis的配置檔案maxmemory-samples引數設定

[二]redis支援的淘汰鍵的策略 規則

說明volatile-lru

使用lru演算法刪除乙個鍵(只對設定了過期時間的鍵)

allkeys-lru

使用lru演算法刪除乙個鍵

volatile-random

隨機刪除乙個鍵(只對設定了過期時間的鍵)

allkeys-random

隨機刪除乙個鍵

volatitle-ttl

刪除過期時間最近的乙個鍵

noeviction

不刪除鍵只返回錯誤

Redis 十一 Redis配置密碼

在測試中,只需要將就redis的測試使用即可 但實際開發中,為了保護資料的安全性,需要針對redis的訪問增加賬號密碼操作!由於使用的redis配置檔案放置於 usr local redis conf 路徑下,此時需要修改其中的配置檔案資訊。vi usr local redis conf redis...

十一 redis之pipeline批處理

1次pipeline可以執行n個命令,只消耗1次網路時間。1次pipeline n個命令 1次網路時間 n個命令時間。命令n個命令操作 1次pipeline n個命令 時間n次網路 n次命令 1次網路 n次命令 返回資料量 1條資料 n條資料 redis的命令通常是微妙級別的。redis執行命令的速...

Redis(十一) Redis分布式鎖

為什麼需要使用分布式鎖 因為synchronize和lock是乙個jvm中線程級別的鎖。如何應用部署在多台伺服器上 多個jvm 那synchronize和lock就不起作用了。所以需要分布式鎖來保證符合操作的原子性。1 基於資料庫 2 zookeeper分布式鎖 高一致性,效能較差 3 基於redi...