观察
观察
SADD nums 1 2 3
OBJECT ENCODING nums # intset
SADD nums abc
OBJECT ENCODING nums # hashtable(加入非整数即转换)
SADD str x y z
OBJECT ENCODING str # listpack(7.2+ 小集合)或 hashtable| intset | 整数集合,内存极省 |
|---|---|
| listpack | 7.2+ 小集合紧凑编码 |
| hashtable | 通用大集合 |
| 阈值 | set-max-intset-entries=512;set-max-listpack-entries=128 |
整型集合的 intset 查找是二分(有序数组),性能好且省内存;一旦混入字符串就转 hashtable,内存翻倍是常态。