网站建设是怎样的,网站很卡如何优化,惠州淡水网站建设公司,网站备案期间做什么Redis是一个高性能的key-value存储系统#xff0c;它支持多种数据结构#xff0c;并提供了丰富的删除策略和淘汰策略。以下是关于Redis的数据库结构、删除策略及淘汰策略的详细介绍#xff1a;
Redis的数据库结构
Redis是一个key-value数据库#xff0c;数据存储是以一个…Redis是一个高性能的key-value存储系统它支持多种数据结构并提供了丰富的删除策略和淘汰策略。以下是关于Redis的数据库结构、删除策略及淘汰策略的详细介绍
Redis的数据库结构
Redis是一个key-value数据库数据存储是以一个唯一的key对应一个value。value有5种基础数据结构
string字符串值可以是字符串简单的、以及json、xml格式的、数字甚至是二进制数据图片、音频、视频最大能存储512MB。hash哈希一个键值对集合。list列表一个字符串列表按照插入顺序排序。set集合一个字符串集合不允许有重复元素。zset有序集合一个字符串集合每个元素都会关联一个double类型的分数。Redis正是通过分数来为集合中的成员进行从小到大的排序。
Redis的删除策略
Redis有三种删除策略来处理过期数据
定时删除创建一个定时器当key过期时定时器立即删除过期数据。这种方法节约内存但CPU负荷高尤其在访问量大时可能引起线程阻塞。惰性删除数据到达过期时间不做处理。等下次访问该数据时如果未过期返回数据如果已过期删除并返回不存在。这种方法CPU压力会降低但内存压力很大长期有过期数据占用内存。定期删除Redis启动服务器初始化时读取配置server.hz的值默认为10每秒执行server.hz次的serverCron()中的方法周期性地轮询redis库中的时效型数据采用随机抽取的策略利用过期数据占比的方式控制删除频度过期数据的比例不超过25%。这种策略平衡了前两种极端的方案CPU性能占用设置有峰值检测频度可自定义内存压力和CPU压力都不大。
Redis的淘汰策略
当Redis内存不足以容纳新写入数据时就需要制定一定的淘汰策略。Redis提供了以下几种淘汰策略
noeviction不淘汰任何数据如果内存已经满了不支持客户端写入新的数据会直接发出拒绝返回错误。volatile-lru最常用的淘汰策略该策略是淘汰掉设置了过期时间的键并按照最少访问频次进行淘汰。volatile-lfu针对设置了过期时间的key按照一段时间内的访问频次淘汰掉访问频次最低的进行淘汰。volatile-ttl该策略是淘汰掉针对设置了过期时间的键按照生存时间最短的进行淘汰。volatile-random针对设置了过期时间的键随机选择一个键淘汰。allkeys-lru淘汰整个键值对中最久未使用的键值对。allkeys-lfu淘汰整个键值对中一段时间最少使用的键值对。allkeys-random随机淘汰任意键值对。
这些策略可以根据实际应用场景和需求进行选择和配置。