Redis内存满了怎么办(新年快乐)

Redis内存满了怎么办(新年快乐)

入我相思门,知我相思苦。

长相思兮长相忆,短相思兮无穷极。

一、配置文件

Redis长期使用或者不设置过期时间,导致内存爆满或不足,可以到Redis的配置文件redis.conf 文件中,配置参数 maxmemory 的大小。一般的项目maxmemory设置为3~5G就够用了。

二、命令

通过命令修改,Redis支持运行时通过命令动态修改内存大小。

1 //设置Redis最大占用内存大小为100M
2 127.0.0.1:6379> config set maxmemory 100mb
3 //获取设置的Redis能使用的最大内存大小
4 127.0.0.1:6379> config get maxmemory

三、修改Redis淘汰策略

Redis提供了6种的淘汰策略:

  • noeviction(默认策略):若是内存的大小达到阀值的时候,所有申请内存的指令都会报错;
  • allkeys-lru:所有key都是使用LRU算法进行淘汰;
  • volatile-lru:所有设置了过期时间的key使用LRU算法进行淘汰;
  • allkeys-random:所有的key使用随机淘汰的方式进行淘汰;
  • volatile-random:所有设置了过期时间的key使用随机淘汰的方式进行淘汰;
  • volatile-ttl:所有设置了过期时间的key根据过期时间进行淘汰,越早过期就越快被淘汰。

部分策略使用场景:

  • 若在Redis中的数据有一部分是热点数据,而剩下的数据是冷门数据,或者我们不太清楚我们应用的缓存访问分布状况,这时可以使用allkeys-lru。
  • 若所有的数据访问的频率大概一样,就可以使用allkeys-random的淘汰策略。

Redis的淘汰策略也可以在redis.conf 配置文件中配置:

Redis内存满了怎么办(新年快乐)

同时,Redis淘汰策略也可以通过命令的方式进行配置:

1 // 获取maxmemory-policy配置
2 127.0.0.1:6379> config get maxmemory-policy
3 // 设置maxmemory-policy配置为allkeys-lru
4 127.0.0.1:6379> config set maxmemory-policy allkeys-lru

Redis内存满了怎么办(新年快乐)

入我相思门,知我相思苦。

长相思兮长相忆,短相思兮无穷极。

Original: https://www.cnblogs.com/taojietaoge/p/15850739.html
Author: 涛姐涛哥
Title: Redis内存满了怎么办(新年快乐)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/612206/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • SQLyog企业版

    一、下载与安装 1、SQLyog的下载 链接:https://www.aliyundrive.com/s/11ZuFqB1z4E提取码:63fu 2、SQLyog的安装 双击下载程…

    数据库 2023年6月11日
    0119
  • 新建vue项目

    1、CMD中输入命令行 vue ui 打开一个创建项目的窗口 2、安装插件element ui 3、Idea 打开这个项目即可 4、Idea 运行vue项目 npm run ser…

    数据库 2023年6月9日
    0107
  • ImageIo.read 返回null

    一、问题描述 今天收到一个bug就是imageio读取图片会返回null,具体如下 但是其他的图片就没有问题 二、问题分析 结合百度发现这张图片原本的后缀并非是jpg,使用notp…

    数据库 2023年6月6日
    098
  • podman基础用法

    podman的基础设置和使用 运行示例容器 列出正在运行的容器 检查正在运行的容器 测试httpd服务器 查看容器的日志 查看容器进程pid 对容器执行检查操作 还原容器 迁移容器…

    数据库 2023年6月14日
    0145
  • javaweb之HttpSession对象

    1.session会话追踪原理 客户端第一次请求服务端,服务端会创建一个session对象并且存储下来,之后会将session的唯一标识sessionId设置到响应头中传给客户端 …

    数据库 2023年6月16日
    085
  • InnoDB 中不同SQL语句设置的锁

    锁定读、UPDATE 或 DELETE 通常会给在SQL语句处理过程扫描到的每个索引记录上设置记录锁。语句中是否存在排除该行的WHERE条件并不重要。InnoDB不记得确切的WHE…

    数据库 2023年6月14日
    0111
  • 小姐姐用动画图解Git命令,一看就懂!

    无论是开发、运维,还是测试,大家都知道Git在日常工作中的地位。所以,也是大家的必学、必备技能之一。之前公众号也发过很多git相关的文章: 但是呢,民工哥,也经常在后台看到读者说,…

    数据库 2023年6月9日
    098
  • MyBatis + SpringMVC 总结

    创建 MyBatis 的主配置文件(mybatis-config.xml):环境,事务管理,数据源 给类取别名 配置支持懒加载 创建接口以及接口的映射文件(UserMapper,U…

    数据库 2023年6月11日
    0102
  • MVCC多版本并发控制的理解

    前置知识 当前读与快照读 当前读什么是当前读:读取的是 最新的数据,不会读到老数据。 何时&…

    数据库 2023年6月14日
    079
  • MySQL实战45讲 3

    03 | 事务隔离:为什么你改了我还看不见? 事务 Transaction TRX 事务就是 要保证一组数据库操作,要么全部成功,要么全部失败。 MySQL 原生的 MyISAM …

    数据库 2023年6月16日
    096
  • Ceph创建一个新集群 报错: File “/usr/bin/ceph-deploy”, line 18, in……….

    [root@ceph-node1 ceph]# ceph-deploy new node1 Traceback (most recent call last): File &quo…

    数据库 2023年6月14日
    084
  • PLSQL_developer安装与配置

    前言: 记录安装与配置操作 环境: 客户机:windows服务器:虚拟机中的windows server 2003/————&#82…

    数据库 2023年6月11日
    093
  • MySQL 同步复制及高可用方案总结

    mysql作为应用程序的数据存储服务,要实现mysql数据库的高可用。必然要使用的技术就是数据库的复制,如果主节点出现故障可以手动的切换应用到从节点,这点相信运维同学都是知道,并且…

    数据库 2023年6月9日
    073
  • Linux巡检脚本

    #!/bin/bash sys:centos6.x/7.x [ $(id -u) -ne 0 ] && echo "请&#x…

    数据库 2023年6月14日
    0112
  • MySQL快速创建800w条测试数据表&深度分页

    MySQL快速创建800w条测试数据表&深度分页 如果在普通表格中插入条,效率太低,但内存表的插入速度很快,可以先创建内存表,插入数据,然后再导入到普通表格中。 [En] …

    数据库 2023年5月24日
    0126
  • SpringBoot快速入门

    虽然我的工作中更多的是与数据库打交道,但是作为一个 Coder,我觉得掌握前后端的 Web技术来说是非常有必要的。 不仅可以帮助我们在工作中更好的理解其他岗位与你对接的人他的工作痛…

    数据库 2023年6月11日
    074
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球