分布式缓存

监控告警

2022-09-05 09:07:21

Redis命令是否支持审计?

Redis是高性能读写,不支持命令审计,如果命令支持审计,性能会受到很大的影响,所以命令打印不出来。

Redis监控数据异常处理方法

当对Redis监控数据存在疑问或异议时,可以使用Redis-cli访问Redis实例,执行info all命令,查看进程记录的指标。info all输出详解可参考:http://www.redis.cn/commands/info.html

为什么实例实际可用内存比申请规格小而且已使用内存不为0?

由于系统开销会占用部分资源,主备实例的持久化也需要一部分资源,所以Redis实例创建后,缓存实例实际可用内存小于申请规格。除了用户存储数据外,Redis-server内部的buffer以及内部数据结构会占用一部分内存。所以缓存实例创建后,实例已使用内存量不为0。

监控数据出现实例已使用内存略大于实例可使用内存是什么原因?

DCS单机和主备实例已使用内存为redis-server进程统计的已使用内存。集群是基于分片机制实现的,集群的已使用内存为各个分片redis-server的已使用内存的总和。

由于开源redis-server内部机制的原因,有时会出现DCS缓存实例已使用内存略大于可使用内存的情况,此为正常现象。

Redis的used_memory超过max_memory的原因

Redis通过zmalloc分配内存,不会在每一次分配内存时都检查是否会超过max_memory,而是在周期任务以及命令处理的开头处等地方,判断一次当前的used_memory是否超过max_memory,如果超过就触发逐出操作。所以,对于max_memory策略的限制实施并不是实时、刚性的,会出现某个时间used_memory大于max_memory的情形。