RedisFullCheck icon indicating copy to clipboard operation
RedisFullCheck copied to clipboard

大key拆分阈值bigkeythreshold单位是bit还是byte?

Open yhxjack opened this issue 2 years ago • 4 comments

如题,看到源码中只写了bigkeythreshold=16384,但是不知道这个参数的单位是多少 如果是bit,那表示大key的大小是0.002M 如果是byte,那表示大key大小是0.016M 问题很幼稚,不过确实不太懂,还望大佬们解答下

yhxjack avatar May 19 '23 08:05 yhxjack

@yhxjack bigkeythreshold 的含义是说,对于太大的 hash、list、set、zset 的子元素超过 16384,并不是 byte or bit。 另外,这并不幼稚,说明我们文档确实没写清楚,感谢反馈,我们后续会更新文档。

yangbodong22011 avatar May 22 '23 01:05 yangbodong22011

@yhxjack bigkeythreshold 的含义是说,对于太大的 hash、list、set、zset 的子元素超过 16384,并不是 byte or bit。 另外,这并不幼稚,说明我们文档确实没写清楚,感谢反馈,我们后续会更新文档。

我主要是做云原生的,对redis不要懂,我对大key的理解应该是说redis的key太大导致传输或者校验会有问题,这个大key和redis-shake中说的大key是一个概念吗

yhxjack avatar May 22 '23 02:05 yhxjack

@yhxjack 是一个概念,在 RedisFullCheck 中,key 太大的话,校验也会非常慢,因此这个参数可以控制当校验大key时,是否快速校验,比如值比较下 field 的个数是否相同,就不比较具体 filed 的每一个值了。

yangbodong22011 avatar May 22 '23 02:05 yangbodong22011

@yhxjack 是一个概念,在 RedisFullCheck 中,key 太大的话,校验也会非常慢,因此这个参数可以控制当校验大key时,是否快速校验,比如值比较下 field 的个数是否相同,就不比较具体 filed 的每一个值了。

不是很理解呀,如果类型是单一的string呢,是不是需要大小的限制呢?

yhxjack avatar May 22 '23 03:05 yhxjack