gpt4 book ai didi

c - 集合中的 redis 值对

转载 作者:可可西里 更新时间:2023-11-01 11:01:18 24 4
gpt4 key购买 nike

我知道 Redis 不允许嵌套结构,但我是这样做的:

将值对作为字符串添加到集合中:SADD myset %lu:%ld

然后阅读它们(在 SMEMBERS myset 之后):

sscanf(conn->reply->element[i]->str,"%lu:%ld",&myfirstvalue,&mysecondvalue );

这行得通,但我意识到将值作为字符串保存在一个集合中会占用太多内存。

有没有更好的方法将这个 unsigned long long , long long 对存储在一个集合中?

最佳答案

保存为原始字节怎么样? unsigned long long和long long都是64bits,也就是8字节长。所以用 16 字节,你应该能够保存任何一对。将 16 字节转换为无符号字符数组即可满足您的目的。

请注意,这会带来一些性能损失,因为在添加值对之前“编码”之后,您需要在检索它时“解码”。当您使用保存的字符串这样做时,我怀疑建议的解决方案是否会更慢,实际上是否更快。

关于c - 集合中的 redis 值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20884942/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com