我有一个小问题.
我想在redis中存储一个单词表.表现很棒.
我的方法是创建一个名为"单词"的集合,并通过'sadd'添加每个新单词.
这是一个问题,当添加一个15.9mb的文件并且包含大约一百万字时,redis-server进程消耗160mb的ram.为什么我使用10倍的内存,有没有更好的方法来解决这个问题?
提前致谢
redis中排序集和列表之间的空间差异是什么?我的猜测是有序集是某种平衡的二叉树,列表是链表.这意味着除了我为每个值编码的三个值之外,密钥,分数,值,虽然我将链接列表的得分和值组合在一起,但开销是链接列表需要跟踪一个其他节点和二叉树需要跟踪两个节点,因此使用有序集合的空间开销是O(N).
如果我的值和得分都是长的,并且指向其他节点的指针也很长,那么在64位计算机上,单个节点的空间开销似乎从3长到4长,这是33%增加空间.
这是真的?