redis的缓存淘汰策略

缓存淘汰策略:
	背景:
		当Redis内存超出物理内存限制时,内存的数据会开始和磁盘产生频繁的交换(swap),导致Redis的性能急剧下降,造成redis服务的不可用。
		为了限制最大使用内存,Redis提供了配置参数maxmemory来限制内存的最大使用容量。
		当实际内存超出maxmemory时,redis根据不同的缓存淘汰策略(maxmemory-policy)来对内存进行回收。
		
	缓存淘汰策略:
		永不回收策略(默认):保证已有的数据不丢失。
			noeviction 		# 所有的key都不会被删除,此时redis不处理写请求,但是读请求、DEL请求依然会处理。这样可以保证数据不丢失,是默认的淘汰策略。

		volatile策略:只会对带过期时间的key进行淘汰。
			volatile-lru 	# 尝试淘汰设置了过期时间的key,最少使用的key优先被淘汰。
			volatile-ttl 	# 尝试淘汰设置了过期时间的key,key的剩余寿命的值ttl越小越优先被淘汰。
			volatile-random # 尝试淘汰设置了过期时间的key,key随机选择。

		allkeys策略:对所有的 key 进行淘汰
			allkeys-lru		# 最少使用的key优先被淘汰。
			allkeys-random	# 随机淘汰所有的key。

		
			

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章