redis常用参数以及redis内存淘汰机制

参数说明Redis 2.8Redis 4.0
主从集群读写分离多可用区主从主从集群读写分离多可用区主从
#no_loose_disabled-commands

设置禁用命令,多个命令通过逗号隔开,目前支持的命令如下:

flushall, flushdb, keys, hgetall, eval, evalsha, script
支持支持支持支持支持支持支持支持
#no_loose_sentinel-enabled哨兵兼容模式开关不支持不支持不支持不支持支持支持支持支持
hash-max-ziplist-entries

哈希对象同时满足以下两个条件时, 使用 ziplist 编码:

  1. 哈希对象保存的所有键值对的键和值的字符串长度的字节数都小于hash-max-ziplist-value的值;
  2. 哈希对象保存的键值对数量小于hash-max-ziplist-entries的值。
支持支持支持支持支持支持支持支持
hash-max-ziplist-value

哈希对象同时满足以下两个条件时, 使用ziplist编码:

  1. 哈希对象保存的所有键值对的键和值的字符串长度的字节数都小于hash-max-ziplist-value的值;
  2. 哈希对象保存的键值对数量小于hash-max-ziplist-entries的值。
支持支持支持支持支持支持支持支持
lazyfree-lazy-evictionlazyfree内存满后驱逐选项不支持不支持不支持不支持支持支持支持支持
lazyfree-lazy-expirelazyfree过期key删除选项不支持不支持不支持不支持支持支持支持支持
lazyfree-lazy-server-dellazyfree内部删除选项不支持不支持不支持不支持支持支持支持支持
list-compress-depth

列表上两端不被压缩的节点个数:

  • 0为特殊值(Redis的默认值),表示都不压缩;
  • 1表示list两端各有1个节点不压缩,中间的节点压缩;
  • 2表示list两端各有2个节点不压缩,中间的节点压缩;
  • 3表示list两端各有3个节点不压缩,中间的节点压缩;
  • 其后依此类推。
不支持不支持不支持不支持支持支持支持支持
list-max-ziplist-size
  • 取正值表示按照数据项个数来限定每个quicklist节点上的ziplist长度。例如,当该参数配置为5时,每个quicklist节点的ziplist最多包含5个数据项。
  • 取负值表示按照占用字节数来限定每个quicklist节点上的ziplist长度。此时,该值只能取-1到-5这五个值,每个值含义如下。
    • -5:每个quicklist节点上的ziplist大小不能超过64Kb(注:1kb = 1024 bytes);
    • -4:每个quicklist节点上的ziplist大小不能超过32Kb;
    • -3:每个quicklist节点上的ziplist大小不能超过16Kb;
    • -2:每个quicklist节点上的ziplist大小不能超过8Kb(Redis默认值);
    • -1:每个quicklist节点上的ziplist大小不能超过4 Kb。
不支持不支持不支持不支持支持支持支持支持
maxmemory-policy

设置缓存满后Redis删除内容的策略。您可以在如下八种策略中进行选择:

  • volatile-lru -> 只从设置失效(expire set)的key中选择最近最少使用的key进行删除 (推荐)
  • allkeys-lru -> 优先删除掉最近最少使用的key
  • volatile-lfu -> 只从设置失效(expire set)的key中选择最不常用的key进行删除
  • allkeys-lfu -> 优先删除掉最不常用的key
  • volatile-random -> 只从设置失效(expire set)的key中,随机选择一些key进行删除
  • allkeys-random -> 随机选择一些key进行删除
  • volatile-ttl -> 只从设置失效(expire set)的key中,选出存活时间(TTL)最短的key进行删除
  • noeviction的密钥 -> 不删除任何key,只是在写操作时返回错误。

LRU表示最近最少使用的。LFU表示最不常用的。LRU,LFU和volatile-ttl都是使用近似随机算法实现的。

支持支持支持支持支持支持支持支持
notify-keyspace-events

notify-keyspace-events的参数可以是以下字符的任意组合,它指定了服务器该发送哪些类型的通知。

  • 字符:发送的通知
  • K:键空间通知,所有通知以__keyspace@<db>__为前缀
  • E:键事件通知,所有通知以__keyevent@<db>__为前缀
  • g:DEL、EXPIRE、RENAME等类型无关的通用命令的通知
  • l:列表命令的通知
  • s:集合命令的通知
  • h:哈希命令的通知
  • z:有序集合命令的通知
  • x:过期事件。每当有过期键被删除时发送
  • e:驱逐(evict)事件。每当有键因为maxmemory政策而被删除时发送
  • A:参数g$lshzxe的别名
支持不支持不支持不支持支持不支持不支持不支持
set-max-intset-entries

当Set集合内的数据符合以下条件时,会使用intset编码:

  1. 当集合内所有数据都是字符对象;
  2. 都是基数为10的整数,范围为64位有符号整数。
支持支持支持支持支持支持支持支持
slowlog-log-slower-than设置是否记录慢查询日志:
  • 当取值为负时,不记录任何操作;
  • 当取值为0时记录所有操作;
  • 当取值为正时,只有当操作执行时间大于设置值,操作才被记录(单位为微秒)。
支持支持支持支持支持支持支持支持
slowlog-max-len慢日志最多保存记录条数。支持支持支持支持支持支持支持支持
zset-max-ziplist-entries

排序集合对象同时满足以下两个条件时, 使用ziplist编码:

  1. 排序集合对象保存的所有键值对的键和值的字符串长度的字节数都小于zset-max-ziplist-value的值;
  2. 排序集合对象保存的键值对数量小于zset-max-ziplist-entries的值。
支持支持支持支持支持支持支持支持
zset-max-ziplist-value

排序集合对象同时满足以下两个条件时, 使用ziplist编码:

  1. 排序集合对象保存的所有键值对的键和值的字符串长度的字节数都小于zset-max-ziplist-value的值;
  2. 排序集合对象保存的键值对数量小于zset-max-ziplist-entries的值。
支持支持支持支持支持支持支持支持
list-max-ziplist-entries

链表对象同时满足以下两个条件时, 使用ziplist编码:

  1. 链表对象保存的所有元素的字符串长度的字节数都小于list-max-ziplist-value的值;
  2. 链表集合对象保存的元素数量小于list-max-ziplist-entries的值。
支持支持支持支持不支持不支持不支持不支持
list-max-ziplist-value

链表对象同时满足以下两个条件时, 使用ziplist编码:

  1. 链表对象保存的所有元素的字符串长度的字节数都小于list-max-ziplist-value的值;
  2. 链表集合对象保存的元素数量小于list-max-ziplist-entries的值。
支持支持支持支持不支持不支持不支持不支持
cluster_compat_enableredis cluster兼容模式不支持支持支持支持不支持支持支持支持
script_check_enable检查lua脚本key是否在相同slot不支持支持不支持支持不支持支持不支持支持

主要介绍 maxmemory-policy函数内存淘汰机制,介绍redis2.8版本和4.0版本的是否支持

转载于:https://www.cnblogs.com/liufukui/p/10448827.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值