摘要:在2018数据库直播大讲堂峰会-Redis专场上,阿里云的仲肥对Redis4.0介绍。仲肥从何为Redis4.0着手,通过与以前Redis版本进行对比,全面详解了4.0无论是在计算速度还是进行删除操作时的计算量亦或者进行大数据树状复制结构时的可靠性方面所具有的优越性。
直播视频:https://yq.aliyun.com/video/play/1312
PDF下载:https://yq.aliyun.com/download/2455
以下为精彩视频整理:
何为Redis 4.0?
较传统的Redis在大Key删除时容易阻塞、热点Key、info信息不完善等问题,Redis4.0进行了相应的改进,提出了诸如lazy free、LFU&hotKeys、memory和PSYNC2等特性,很好的解决了传统上所面临的问题。
Lazyfree详解
在处理百万级别数据方面,传统领域主要有DEL和FLUSHALL两种方式,但是这两种方式都有耗时较长的缺点。而Lazyfree采用UNLINK的方式来代替DEL,采用FLUSHALL ASYNC的方式来代替FLUSHALL,从而使处理相同数据的耗时从传统的秒级、分钟级降低到目前的毫秒、微秒级别。
1.主动删除
Lazyfree主动删除主要有Unlink和FLUSHALL ASYNC两种方式。这两种方式都充分利用BIO线程,相应的删除工作也是在后台进行完成。Unlink的调用路径首先是经过Unlink Command入口,之后到异步删除(dbAsyncDelet)环节,最后在BIO任务中插入相应任务。FLUSHALL ASYNC的调用路径首先是经过(flushdbCommand),之后是emptyDbAsync环节,最后在BIO任务队列中插入相应任务。无论是Unlink还是FLUSHALL ASYNC,高耗时计算都是在BIO中进行,主线程主要负责创建任务。
网友评论