栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

UNLINK命令是否总是比DEL命令好?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

UNLINK命令是否总是比DEL命令好?

在讨论哪种更好之前,让我们看一下这些命令之间的区别。双方

DEL
UNlink
释放阻塞模式的重要组成部分。区别在于他们释放价值部分的方式。

DEL
总是在阻塞模式下释放值部分。但是,如果该值太大,例如对于
LIST
或分配过多
HASH
,则会长时间阻止Redis。为了解决该问题,Redis实现了
UNlink
命令,即“非阻塞”删除。

其实,

UNlink
不是总是非阻塞/异步
。如果该值很小,例如的大小
LIST
HASH
小于
64
,则该值将立即释放。这样,
UNlink
与几乎相同
DEL
,除了它比花费更多的函数调用
DEL
。但是,如果值很大,则Redis会将值放入列表中,并且该值将由另一个线程释放,即非阻塞释放。这样,主线程必须与后台线程进行一些同步,这也是一个代价。

总之,如果该值很小,

DEL
则至少等于和
UNlink
。如果值非常大(例如,
LIST
包含成千上万个项目),
UNlink
则比更好
DEL
。您始终可以安全地替换
DEL
UNlink
。但是,如果发现线程同步成为问题(多线程总是令人头疼),则可以回滚到
DEL



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/388172.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号