0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

redis六种淘汰策略

Android编程精选 来源:CSDN 作者:CSDN 2022-08-01 10:23 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

    文章

    3993

    浏览量

    67715
  • Redis
    +关注

    关注

    0

    文章

    390

    浏览量

    12042

原文标题:Redis 6种淘汰机制,看看你知道哪些?

文章出处:【微信号:AndroidPush,微信公众号:Android编程精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    盘点连接器的六种锁定机构

    六种连接器锁止机构是什么?连接器上有各种锁定机制,包括插销锁、LacthLocking、Lever、推拉式、螺钉和卡入式。这些代表了更常见的样式,但并非详尽无遗。连接器的锁止可以支持多种功能,例如
    的头像 发表于 10-17 08:02 275次阅读
    盘点连接器的<b class='flag-5'>六种</b>锁定机构

    Redis集群部署配置详解

    Redis集群是一分布式Redis解决方案,通过数据分片和主从复制实现高可用性和横向扩展。集群将整个数据集分割成16384个哈希槽(hash slots),每个节点负责一部分槽位。
    的头像 发表于 07-17 11:04 583次阅读

    Redis集群部署与性能优化实战

    Redis作为高性能的内存数据库,在现代互联网架构中扮演着关键角色。作为运维工程师,掌握Redis的部署、配置和优化技能至关重要。本文将从实战角度出发,详细介绍Redis集群的搭建、性能优化以及监控运维的核心技术。
    的头像 发表于 07-08 17:56 612次阅读

    【经验分享】在Omni3576上编译Redis-8.0.2源码,并安装及性能测试

    本文首先介绍Redis是什么,然后介绍如何在Omni3576上编译Redis-8.0.2源码,以及从源码编译、安装Redis,最后介绍如何在Omni3576上运行Redis性能测试,并
    的头像 发表于 06-05 08:05 758次阅读
    【经验分享】在Omni3576上编译<b class='flag-5'>Redis</b>-8.0.2源码,并安装及性能测试

    【幸狐Omni3576边缘计算套件试用体验】Redis最新8.0.2版本源码安装及性能测试

    本文首先介绍Redis是什么,然后介绍如何在Omni3576上编译Redis-8.0.2源码,以及从源码编译、安装Redis,最后介绍如何在Omni3576上运行Redis性能测试,并
    发表于 06-03 01:28

    Redis 再次开源!

    “  Redis 现已采用 AGPLv3 开源许可证。  ” Redis CEO 的 Blog 以下是 Redis CEO Rowan Trollope 的 Blog: 像 AWS 和 GCP 这样
    的头像 发表于 05-06 18:26 676次阅读

    英飞凌与RT-Labs将六种关键工业通信协议集成到XMC7000 MCU系列中

    领导者英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)与其合作伙伴、工业通信解决方案供应商RT-Labs在英飞凌 XMC7000 工业微控制器(MCU)的固件中集成了六种现场总线和以太网协议。用户可通过英飞凌ModusToolbox 开发平台获得该固件。该软件解决方案提
    的头像 发表于 03-31 17:15 562次阅读
    英飞凌与RT-Labs将<b class='flag-5'>六种</b>关键工业通信协议集成到XMC7000 MCU系列中

    redis集群方案详解

    Redis中提供的集群方案总共有三(一般一个redis节点不超过10G内存)。
    的头像 发表于 03-31 10:46 1269次阅读
    <b class='flag-5'>redis</b>三<b class='flag-5'>种</b>集群方案详解

    带你探索:运放芯片的六种实用端接策略

    在电子电路中,运放芯片应用广泛。使用集成双运放芯片构建电压跟随器时,常一个运放工作,另一个闲置。恰当端接闲置运放是稳定电路性能的关键,接下来,健翔升小编将为大家介绍六种运放芯片端接方法及其特点
    的头像 发表于 02-24 10:15 792次阅读
    带你探索:运放芯片的<b class='flag-5'>六种</b>实用端接<b class='flag-5'>策略</b>

    Redis实战笔记

    在目前的技术选型中,Redis 俨然已经成为了系统高性能缓存方案的事实标准,因此现在 Redis 也成为了后端开发的基本技能树之一。   基于上述情况,今天给大家分享一份 杰哥 亲笔撰写的内部
    的头像 发表于 02-09 09:12 621次阅读
    <b class='flag-5'>Redis</b>实战笔记

    华为云 Flexus X 加速 Redis 案例实践与详解

    Redis 加速镜像,更是为开发者提供了极大的便利。本文将详细介绍如何利用华为云 Flexus X 实例自带的 Redis 镜像,快速部署并配置 Redis,以及通过实际案例展示其便捷性和高效性。 一、华为云 Flexus
    的头像 发表于 01-23 17:52 598次阅读
    华为云 Flexus X 加速 <b class='flag-5'>Redis</b> 案例实践与详解

    Redis Cluster之故障转移

    1. Redis Cluster 简介 Redis Cluster 是 Redis 官方提供的 Redis 集群功能。 为什么要实现 Redis
    的头像 发表于 01-20 09:21 1249次阅读
    <b class='flag-5'>Redis</b> Cluster之故障转移

    华为云Flexus X实例,Redis性能加速评测及对比

    随着云计算技术的飞速发展,Redis 作为一高性能的内存数据库,在各种应用场景中发挥着越来越重要的作用。为了满足不同用户对 Redis 性能的高要求,华为云推出了 Flexus X 实例,并提供了
    的头像 发表于 12-29 15:47 828次阅读
    华为云Flexus X实例,<b class='flag-5'>Redis</b>性能加速评测及对比

    Redis缓存与Memcached的比较

    关键特性和差异: 1. 数据存储 Redis: Redis是一个开源的键值存储,支持多种数据结构,如字符串、列表、集合、有序集合、散列、位图、超日志和地理空间索引。 它支持持久化,可以将内存中的数据保存到磁盘,支持RDB(快照)和AOF(日志)两
    的头像 发表于 12-18 09:33 913次阅读

    深度排查恩智浦MCX N系列支持的六种电源模式

    前 言 在上周文章-MCX N系列之电源管理中,小编带大家了解了MCX N系列的电源架构以及不同的电源配置,本篇文章将介绍MCX N系列支持的六种电源模式,分别为: Active Sleep
    发表于 12-12 09:33 1137次阅读
    深度排查恩智浦MCX N系列支持的<b class='flag-5'>六种</b>电源模式