当前位置: 首页 > news >正文

Redis :command not allowed when used memory

目录标题

  • Redis 相关问题分析与配置确认
    • 一、错误日志分析
    • 二、maxmemory-policy 的配置选项
    • 三、缓存穿透与 Redis 内存占用
    • 四、确认 maxmemory 和 maxmemory-policy 的配置
      • 确认 maxmemory 配置
      • 确认 maxmemory-policy 配置

Redis 相关问题分析与配置确认

一、错误日志分析

  • 日志来源:用户提供了 Redis 相关的错误日志,显示在执行命令时遇到“command not allowed when used memory”的错误。
  • 错误原因:由于 Redis 内存限制(maxmemory)达到,导致命令被拒绝执行。
  • 涉及组件
    • Redisson 客户端执行 EVAL 命令时出现问题。
    • 日志包含客户端和服务器的 IP、端口信息,以及分布式锁相关的键和编码器信息。

二、maxmemory-policy 的配置选项

  • noeviction:内存达到上限时,拒绝所有写入请求(DEL 命令除外),读取请求可以继续。
  • volatile-lru:从设置了过期时间的键中,根据 LRU 算法选择并淘汰最久未使用的键。
  • volatile-lfu:从设置了过期时间的键中,根据 LFU 算法选择并淘汰使用频率最低的键。
  • volatile-ttl:从设置了过期时间的键中,选择剩余生存时间(TTL)最短的键进行淘汰。
  • volatile-random:从设置了过期时间的键中,随机选择键进行淘汰。
  • allkeys-lru:从所有键中,根据 LRU 算法选择并淘汰最久未使用的键。
  • allkeys-lfu:从所有键中,根据 LFU 算法选择并淘汰使用频率最低的键。
  • allkeys-random:从所有键中,随机选择键进行淘汰。

三、缓存穿透与 Redis 内存占用

  • 缓存穿透定义:查询的 Key 在 Redis 中不存在,同时在数据库中也不存在,导致每次请求都直接查询数据库。
  • 对 Redis 内存的影响:缓存穿透本身不会直接导致 Redis 内存高,但在解决缓存穿透问题时(如缓存空对象或使用布隆过滤器),可能会间接增加 Redis 的内存占用。

四、确认 maxmemory 和 maxmemory-policy 的配置

确认 maxmemory 配置

  • 通过 redis-cli 命令行工具
    • 执行 config get maxmemory 查看当前设置。
    • 执行 config set maxmemory <value> 修改值,<value> 可为具体字节数或带单位的值(如 100mb1gb)。
  • 检查 Redis 配置文件:打开 redis.conf 文件,查找 maxmemory 配置项。

确认 maxmemory-policy 配置

  • 通过 redis-cli 命令行工具
    • 执行 config get maxmemory-policy 查看当前设置。
    • 执行 config set maxmemory-policy <policy> 修改策略,<policy> 为上述提到的策略取值之一。
  • 检查 Redis 配置文件:打开 redis.conf 文件,查找 maxmemory-policy 配置项。
    在这里插入图片描述

相关文章:

  • a, b = map(int, input().split()) 从用户输入中读取两个整数
  • 耘想Docker LinNAS,颠覆传统存储体验!
  • muduo库的思路梳理
  • 前端使用WPS WebOffice 做在线文档预览与编辑
  • Redux,React-redux。基础
  • 【脏读、不可重复读、幻读区别】
  • 云端陷阱:当免费午餐变成付费订阅,智能家居用户如何破局?
  • 【48】指针:函数的“数组入口”与“安全锁”——数组参数传递
  • 【Linux】嵌入式Web服务库:mongoose
  • pytorch与其他ai工具
  • 什么是异步编程,如何在 JavaScript 中实现?
  • 亚马逊多账号风控防护体系构建指南
  • 设计模式类型
  • Android 简化图片加载与显示——使用Coil和Kotlin封装高效工具类
  • 【更新至2023年】各省数字经济相关指标数据集(20个指标)
  • 最长公共子序列问题
  • Spring笔记02-bean的生命周期
  • 传统应用容器化迁移实践
  • 关于matlab和python谁快的问题
  • 【自学笔记】ELK基础知识点总览-持续更新
  • 专访|茸主:杀回UFC,只为给自己一个交代
  • 三亚通报救护车省外拉警报器开道旅游:违规违法,责令公司停业整顿
  • 超新星|18岁冲击中超金靴,王钰栋的未来无限可能
  • 极限拉扯上任巴西,安切洛蒂开启夏窗主帅大挪移?
  • 缺字危机:一本书背后有多少“不存在”的汉字?
  • 西王食品连亏三年:主业齐“崩”,研发人员多为专科生