我们经常说Redis是单线程服务单线程的优点是明确的首先,代码逻辑更简单,服务更稳定,同时,单个线程会导致一些问题,比如做很多工作。你的工作会受到影响。有一项非常重要的任务。事实上,它可以在多个线程中完成,例如备份数据或删除非常大的字典
为了解决这个问题,Redis使用异步线程,这使得Redis更有效,这称为Lazyfree机制。
Redis4.0是一个非常有用的新功能。
Redis懒得删除disconnect命令
Redis命令附带一个新的删除命令Unlink。事实上,现实生活中的这种懒惰删除在现实生活中非常普遍。例如,当餐厅在夜间打架时,商店会在没有立即开车的情况下进行清洁,但打鼾的标志会挂在门上。然后慢慢抬起它,就像Redis的unlink命令一样。例如,从字典运行unlink命令的步骤如下:
首先从字典项中取出此项。
查找字典中的值总数。
如果数字很小,则同步删除该值,否则Atom会添加该项并缓慢删除。
将字典提交到延迟删除队列。
删除成功删除
Redis4.0是一个非常有用的新功能。
Redis清空数据库
正如在Redis中删除所有数据需要很长时间一样,Redis delete命令可以是异步的。执行delete命令时,Redis将数据库字典指定为新字典,然后将旧数据提交给异步线程进行处理。
另一个异步删除Redis
早些时候,我介绍了Redis的内存删除和到期策略。例如,Redis的过期策略有两种策略:主动删除和被动删除。 Redis4.0提供了一个新的配置项,可以在删除时异步启动。应该注意,扫描此密钥的线程未打开。
Redis4.0是一个非常有用的新功能。
合计
Redis中的异步删除可以在日常开发中引用。例如,在电子商务系统中,卖家必须向购买了他们产品的所有用户分发优惠券 - 这个逻辑非常繁重,因此订购系统(例如,必须读取用户的基本信息),订购系统(用户)你应该阅读查询)。订购),折扣系统(查看优惠券数量和优惠券详情),推送系统(您可以看到用户收到新优惠券)和其他系统(如果您同步,用户可以点击一次)这需要时间并伴随着各种时间限制。通常,我们都这样做是为了提供工作队列。当卖方完成任务时,该任务将被删除到消息队列中。如果您在内部通知卖方该作业已成功提交,则该优惠将在后台缓慢分发,最后您将收到卖家已成功发送的通知。这个项目简洁小巧,Redis,有很多值得学习的设计理念。每个人的支持都是我继续前进的动力。
上海IT外包服务网 链接:http://www.linemore.com