redis的maxmemory与maxmemory-policy关系

如果redis配置了maxmemory和maxmemory-policy策略,则当redis内存数据达到maxmemory时,会根据maxmemory-policy配置来淘汰内存数据,以避免OOM。
redis提供了以下6种淘汰策略:
1,noeviction:不执行任何淘汰策略,当达到内存限制的时候客户端执行命令会报错。
2,allkeys-lru:从所有数据范围内查找到最近最少使用的数据进行淘汰,直到有足够的内存来存放新数据。
3,volatile-lru:从所有的最近最少访问数据范围内查找设置到过期时间的数据进行淘汰,如果查找不到数据,则回退到noeviction。
4,allkeys-random:从所有数据范围内随机选择key进行删除。
5,volatile-random:从设置了过期时间的数据范围内随机选择key进行删除。
6,volatile-ttl:从设置了过期时间的数据范围内优先选择设置了TTL的key进行删除。

时间: 2024-11-10 14:56:34

redis的maxmemory与maxmemory-policy关系的相关文章

redis 使用内存超过maxmemory

redis使用量超过了maxmemory,这时无法增加最大内存,redis 实例没有可用内存,导致命令都会执行失败 (error) OOM command not allowed when used memory > 'maxmemory'. 解决办法: flushdb /or 重启redis 原文地址:https://www.cnblogs.com/mikeluwen/p/8434814.html

Redis: userd_memory使用超出maxmemory

Redis:userd_memory使用超出maxmemory 一.问题现象 2018.12.30 19:26分,收到Redis实例内存使用告警"内存使用率299%>=80%",检查实例info memory信息, 发现:userd memory=29.84G 而实例maxmemory=10G,集群中其它实例userd_memory均匀且保持在500M左右: 二.问题分析 1.检查此实例中的key数量和大小,排查是否存在大key,执行dbsize,显示当前实例有68个key,执行

redis案例-set来存储关注关系-redis

<?php /* * This example would probably work best if you're using * an MVC framework, but it can be used standalone as well. * * This example also assumes you are using Predis, the excellent * PHP Redis library available here: * https://github.com/nrk

Linux.Redis.Server(redis-server)和Client(redis-cli)关系

设计的redis命令 redis-server redis-cli 要从设置密码说起... 本来启动redis的server命令 #启动redis-server,并且指定配置文件 [[email protected]_0_13_centos redis]$ ./bin/redis-server ./redis.conf 这个时候,密码的配置项(requirepass)是配置在redis.conf中的, 所以这个密码我当时觉得是redis-cli客户端连接redis-server的时候需要提供的.

Redis实现关注关系

最近使用关系型数据库实现了用户之间的关注,于是思考换一种思路,使用Redis实现用户之间的关注关系下载地址  .综合考虑了一下Redis的几种数据结构后,觉得可以用集合实现一下. 假设"我"的ID是1,"别人"的ID是2. 一.添加关注 添加关注分为两步:1.将对方id添加到自己的关注列表中:2.将自己的id添加到对方的粉丝列表中: SADD 1:follow 2SADD 2:fans 1 二.取消关注 取消关注同样分为两步:1.将对方id从自己的关注列表中移除:2

Redis集群节点主从关系调整

一.概述 Redis集群创建后,可能会出现互为主从关系的节点从属于同一台服务器的情况.在此种情况下,若 服务器故障宕机或需要停机维护,互为主从关系的节点同时停止运行,导致redis集群暂时失去一部 分slot插槽.此时,redis集群为fail状态,对其进行的数据读写操作均无法正常进行.为避免此种情 况的发生,应对redis集群节点的主从关系进行调整,使互为主从关系的节点分属于不同的服务器. 二.调整方法描述 1.使用redis-trib.rb脚本将待调整的从节点从redis集群中删除.(执行此

redis.conf配置

# Redis configuration file example # Redis示例配置文件 # Note on units: when memory size is needed, it is possible to specify # it in the usual form of 1k 5GB 4M and so forth: # 注意单位问题:当需要设置内存大小的时候,可以使用类似1k.5GB.4M这样的常见格式: # # 1k => 1000 bytes # 1kb => 102

Redis for Windows(C#缓存)配置文件详解

Redis for Windows(C#缓存)配置文件详解 前言 在上一篇文章中主要介绍了Redis在Windows平台下的下载安装和简单使用http://www.cnblogs.com/aehyok/p/3478282.html.当然我也在上一篇中指定过配置文件,并且修改其中的端口port.本文将主要来探讨redis强大的配置文件. 我现在使用的redis版本为2.6.首先奉上配置文件的源文件. # Redis configuration file example # Note on unit

redis应用之安装配置介绍

一.redis介绍: 1.redis定义: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主持.redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都