lazy-free机制
2021-04-11 19:49:55 0 举报
AI智能生成
redis的lazy-free机制
作者其他创作
大纲/内容
lazy-free机制
起源
Redis4.0新特性,解决big key的删除性能问题
没有该机制之前,删除一个big key的时候,会阻塞主线程,不能响应其它请求,性能低,集群模式下还会导致故障切换
定义
延迟释放,当删除key的时候,异步延时释放内存,由bio(backgroud I/O)子线程处理,而不会阻塞主线程
使用
主动删除
UNLINK KEY
删除key前会判断删除的cost,如果大于某个阈值(64)才会lazy-free,否则同DEL KEY
key包含100个元素的list,那么cost=100,则异步释放,如果个数是10,那么同del
512M的key String,cost=1,也是同步阻塞释放,性能差
FLUSHALL
同步阻塞
FLUSHDB ASYNC
异步非阻塞
被动删除
redis.conf里lazy-free相关配置,默认都是no
lazyfree-lazy-eviction
表示达到内存上线,执行淘汰策略删除key时候是否lazy-free
lazyfree-lazy-expire
针对设置有TTL的键,达到过期后,被redis清理删除时是否采用lazy free机制
lazyfree-lazy-server-del
slave-lazy-flush
slave加载master的rdb文件前,清空内存是否flushdb async
0 条评论
回复 删除
下一页