redis - 使用 HSET 或 SETBIT 在 Redis 中存储 60 亿个 SHA256 哈希
问题描述
问题集:我希望存储 60 亿个SHA256
哈希值。我想检查哈希是否存在,如果存在,将执行一个操作。在存储SHA256
哈希(64字节字符串)只是为了检查密钥是否存在时,我遇到了两个要使用的函数
HSET/HEXIST
和GETBIT/SETBIT
我想确保占用最少的内存,但也想确保快速查找。
用例将是“检查 sha256 哈希是否存在”
问题,
我想了解如何存储这些数据,因为目前我的 text -> redis 增加了 200%。我想了解什么是最好的分片选项,ziplist entries
并且ziplist value
会是什么。如何拆分散列以使其有效以使散列ziplist
最大化。
我尝试将 ziplist 条目设置为 16 ^ 4 (65536),并根据拆分 4:60 将值设置为 60
任何可以帮助我理解选项和技术的帮助,以使其占用空间小但足够快以运行查找。
谢谢
解决方案
推荐阅读
- reactjs - 如何使用 OpenLayers 使图像居中
- opengl - 说 OpenGL 3.2+ 核心配置文件基于“保留模式”模式是否正确?
- discord - Simultaneously running separate programs using the same token
- javascript - Typeguard 在 await new Promise 内部不起作用
- expression - mapbox:如何使用向表达式添加静态前缀(或后缀)?
- flutter - Flutter 从 url 下载文件,带有播放列表选项可供选择
- mlflow - mlflow 中 pmml 模型的工件生成
- xamarin.forms - 通过 WiFi 连接时,Xamarin Forms 检测不到 Internet
- spring-mvc - 限制连续字符出现
- javascript - 循环脚本以获取元素的对应对象