Redis:多个唯一键与通过哈希分桶
Redis: Multiple unique keys versus bucketing through Hash
我总共有六种类型的密钥,比如 a、b、..、f,每个都有大约一百万个子密钥,例如 a1、a2、...a99999(每个存储桶都不同)。什么访问方式更快?
- 通过组合存储桶名称和键来获得单独的键,例如:a_a1、b_b1 等
- 对 6 个键使用散列得到桶,然后每个桶中有 100 万个键?
我搜索 stack-overflow,但当我的 bucket 很少且键数很大时找不到这样的比较!
Edit1: 每个键和值都是最多 100 个字符的字符串。我会使用 Java 的 Jedis 库进行交易
来访问它
你的问题让我想起了this篇文章。它不包含性能基准,但似乎您的第二种情况(带有密钥桶)将具有适当的性能和较小的内存占用量。
我总共有六种类型的密钥,比如 a、b、..、f,每个都有大约一百万个子密钥,例如 a1、a2、...a99999(每个存储桶都不同)。什么访问方式更快?
- 通过组合存储桶名称和键来获得单独的键,例如:a_a1、b_b1 等
- 对 6 个键使用散列得到桶,然后每个桶中有 100 万个键?
我搜索 stack-overflow,但当我的 bucket 很少且键数很大时找不到这样的比较!
Edit1: 每个键和值都是最多 100 个字符的字符串。我会使用 Java 的 Jedis 库进行交易
来访问它你的问题让我想起了this篇文章。它不包含性能基准,但似乎您的第二种情况(带有密钥桶)将具有适当的性能和较小的内存占用量。