redis是個基于內存的緩存數據庫,既然是基于內存的,那肯定就會有存滿的時候
如果真的存滿了,再有新的數據過來肯定就存不進去了
此時redis會執行既定的一些淘汰策略,本文大概講一下redis六種淘汰策略
01六種淘汰策略
1.noeviction(默認策略):對于寫請求不再提供服務,直接返回錯誤(DEL請求和部分特殊請求除外)
2.allkeys-lru:從所有key中使用LRU算法進行淘汰(LRU算法:即最近最少使用算法)
3.volatile-lru:從設置了過期時間的key中使用LRU算法進行淘汰
4.allkeys-random:從所有key中隨機淘汰數據
5.volatile-random:從設置了過期時間的key中隨機淘汰
6.volatile-ttl:在設置了過期時間的key中,淘汰過期時間剩余最短的
當使用volatile-lru、volatile-random、volatile-ttl這三種策略時,如果沒有key可以被淘汰,則和noeviction一樣返回錯誤
02如何獲取及設置內存淘汰策略
1、獲取當前內存淘汰策略:
127.0.0.1:6379> configgetmaxmemory-policy
可以看到當前使用的默認的noeviction策略
2、獲取Redis能使用的最大內存大小
127.0.0.1:6379> configgetmaxmemory
如果不設置最大內存大小或者設置最大內存大小為0,在64位操作系統下不限制內存大小,在32位操作系統下最多使用3GB內存。32 位的機器最大只支持 4GB 的內存,而系統本身就需要一定的內存資源來支持運行,所以 32 位機器限制最大 3 GB 的可用內存
3、設置淘汰策略
通過配置文件設置淘汰策略(修改redis.conf文件):
maxmemory-policy allkeys-lru
通過命令修改淘汰策略:
127.0.0.1:6379> configsetmaxmemory-policyallkeys-lru
4、設置Redis最大占用內存大小
#設置Redis最大占用內存大小為100M
127.0.0.1:6379> configsetmaxmemory100mb
審核編輯 :李倩
-
數據庫
+關注
關注
7文章
3848瀏覽量
64690 -
Redis
+關注
關注
0文章
378瀏覽量
10945
原文標題:Redis 6種淘汰機制,看看你知道哪些?
文章出處:【微信號:AndroidPush,微信公眾號:Android編程精選】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
華為云 Flexus X 加速 Redis 案例實踐與詳解
![華為云 Flexus X 加速 <b class='flag-5'>Redis</b> 案例實踐與詳解](https://file1.elecfans.com//web3/M00/04/7A/wKgZPGd0HF-ABq-3AAF657lKo6c323.png)
華為云Flexus X實例,Redis性能加速評測及對比
![華為云Flexus X實例,<b class='flag-5'>Redis</b>性能加速評測及對比](https://file1.elecfans.com//web3/M00/03/C9/wKgZPGdsEdqAYenRAAJ02uTtywI722.png)
Redis緩存與Memcached的比較
深度排查恩智浦MCX N系列支持的六種電源模式
![深度排查恩智浦MCX N系列支持的<b class='flag-5'>六種</b>電源模式](https://file1.elecfans.com/web3/M00/01/FB/wKgZO2daPg6AcPTqAAAiXzSFE3Y107.png)
如何運用數字化技術加速六西格瑪策略的實施與成效?
六種dcdc變換器特點是什么
水冷液冷負載系統的六種基本類型
![水冷液冷負載系統的<b class='flag-5'>六種</b>基本類型](https://file1.elecfans.com/web2/M00/FA/76/wKgaomaLJbaAHxI6AALQLRBBlyY111.png)
K8S學習教程(二):在 PetaExpress KubeSphere容器平臺部署高可用 Redis 集群
![K8S學習教程(二):在 PetaExpress KubeSphere容器平臺部署高可用 <b class='flag-5'>Redis</b> 集群](https://file1.elecfans.com/web2/M00/F7/94/wKgZomaE_LWAIzZtAACo5pTAtaY093.png)
Redis 開源協議調整,我們怎么辦?
![<b class='flag-5'>Redis</b> 開源協議調整,我們怎么辦?](https://file1.elecfans.com//web2/M00/E3/AD/wKgZomY85OuAVlS8AAMdsEulQOA452.png)
Redis開源版與Redis企業版,怎么選用?
![<b class='flag-5'>Redis</b>開源版與<b class='flag-5'>Redis</b>企業版,怎么選用?](https://file.elecfans.com/web2/M00/3F/D7/poYBAGJqPMKAEXjWAAAOpepuZJ8475.jpg)
GaussDB(for Redis) 特性揭秘:大 key 治理
![GaussDB(for <b class='flag-5'>Redis</b>) 特性揭秘:大 key 治理](https://file1.elecfans.com/web2/M00/C6/25/wKgZomYFeOCAed07AAI8IiCcEsM153.png)
新版 Redis 不再“開源”,對使用者都有哪些影響?
![新版 <b class='flag-5'>Redis</b> 不再“開源”,對使用者都有哪些影響?](https://file1.elecfans.com/web2/M00/C6/01/wKgZomYELTGAKZLDAAVrOCJwvPc054.png)
評論