首页 > 解决方案 > 使用 HSET 或 SETBIT 在 Redis 中存储 60 亿个 SHA256 哈希

问题描述

问题集:我希望存储 60 亿个SHA256哈希值。我想检查哈希是否存在,如果存在,将执行一个操作。在存储SHA256哈希(64字节字符串)只是为了检查密钥是否存在时,我遇到了两个要使用的函数

HSET/HEXISTGETBIT/SETBIT

我想确保占用最少的内存,但也想确保快速查找。

用例将是“检查 sha256 哈希是否存在”

问题,

我想了解如何存储这些数据,因为目前我的 text -> redis 增加了 200%。我想了解什么是最好的分片选项,ziplist entries并且ziplist value会是什么。如何拆分散列以使其有效以使散列ziplist最大化。

我尝试将 ziplist 条目设置为 16 ^ 4 (65536),并根据拆分 4:60 将值设置为 60

任何可以帮助我理解选项和技术的帮助,以使其占用空间小但足够快以运行查找。

谢谢

标签: redis

解决方案


推荐阅读