分布式缓存服务 DCS-DCS Redis 4.0支持的新特性说明:Lazy free机制
Lazy free机制
解决的痛点/问题
Redis是单线程程序,当运行一个耗时较大的请求时,会导致所有请求排队等待,在请求处理完成前,Redis不能响应其他请求,因此容易引发性能问题。而Redis删除大的集合键时,就属于一种比较耗时的请求。
原理
Redis 4.0提供的一种惰性删除或者说延迟释放机制,主要用于解决删除大key对Redis进程的阻塞,从而避免带来性能与可用性问题。
删除key时,Redis异步延时释放key的内存,把key释放操作放在bio(Background I/O)单独的子线程处理中。
使用方法
- 主动删除
- unlink
unlink与del命令目的一样,删除某个key。unlink在删除集合类键时,如果集合键的元素个数大于64个,会把内存释放操作,给单独的bio(Background I/O)线程来执行。因此unlink删除操作能在非常短的时间内完成包含上百万个元素的大key删除。
- flushall/flushdb
通过对flushall/flushdb添加ASYNC异步清理选项,Redis在清理整个实例或单个DB时,操作都是异步的。
- unlink
- 过期key删除、大key驱逐删除
被动删除有四种场景,每种场景对应一个配置参数,默认都是关闭:
lazyfree-lazy-eviction no //针对redis内存使用达到maxmemory,并设置有淘汰策略时,是否采用lazy free机制 lazyfree-lazy-expire no //针对设置有TTL的键,过期后,被redis清理删除时是否采用lazy free机制 lazyfree-lazy-server-del no //针对有些指令在处理已存在的键时,会带有一个隐式的DEL键的操作 slave-lazy-flush no //针对slave进行全量数据同步,slave在加载master的RDB文件前,会运行flushall来清理自己的数据场景
- 数据缓存_数据高并发_数据高可用-华为云
- 分布式缓存Redis版本差异_分布式缓存Redis有哪些版本_分布式缓存-华为云
- 数据库压力怎么办_Redis_分布式缓存-华为云
- 分布式缓存服务Redis的安全能力_分布式缓存服务Redis的数据安全性
- 分布式缓存服务Redis优势_分布式缓存服务Redis_华为云
- 分布式缓存数据迁移_分布式缓存_数据迁移-华为云
- 分布式缓存Redis企业版优势_分布式缓存Redis企业版特点
- 分布式缓存Redis稳定性怎么样_分布式缓存Redis_企业版-华为云
- 分布式缓存redis_分布式缓存技术_分布式缓存-华为云
- 分布式缓存如何提高系统性能_中间件_系统性能问题-华为云