59_Redis键值设计

1.拒绝BigKey

BigKey通常以Key的大小和Key中成员的数量来综合判定。例如:

  • Key本身的数据量过大:一个String类型的Key,它的值为5MB。
  • Key中的成员数过多:一个ZSET类型的Key,它的成员数量为10000个。
  • Key中成员的数据量过大:一个Hash类型的Key,它的成员数量虽然只有1000个但这些成员的Value值总大小为100MB。

那么如何判断元素的大小呢?Redis也给我们提供了"MEMORY USAGE Key"命令,用于查看指定Key及其Value占用内存的大小。

127.0.0.1:6379> MEMORY USAGE name
(integer) 56

但是一般不推荐使用MEMORY指令,因此这个指令对CPU的使用率是比较高的。实际开发中一般来说,我们只需要衡量值或者值的个数就可以了。

这里推荐的做法是,对于单个Key其Value建议小于10KB。对于集合类型的Key,建议元素数量小于1000个。

1.1 BigKey的危害

你可能感兴趣的:(Redis,7企业级开发实战教程,redis,数据库,拒绝BigKey,BigKey的危害,如何发现BigKey,Redis7,袁庭新)