unlink是指redis用异步方式去del键值,但是异步删除键值有一个判断条件.
会根据元素的个数来判断是否值得用异步线程去del,因为异步会有额外的消耗,如果元素较少(比如string,无论string多大都是在主线程里删除),直接在主线程里删除就行.
List:直接返回element个数。
Set:非hash table编码,即intset编码时返回1.当一个集合只包含整数值元素, 并且这个集合的元素数量不多时, Redis 就会使用intset作为集合键的底层实现。
Hash:同上。
当hash键值满足下面任意条件编码为hash table:
->element count > “hash-max-ziplist-entries”,default 512.
->value length > “hash-max-ziplist-value”,default 64
Zset:非skiplist编码,返回1.
当zset键值满足下面任意条件编码为hash table:
->element count >“zset-max-ziplist-entries”,default 128
->value length > “zset-max-ziplist-value”, default 64