Dae*_*Han 4 database memory redis
我想在Redis上的MySQL中加载4列和80行的数据,这样我就可以减少读取延迟.
但是,当我尝试加载所有数据时,它变大了5倍.
原始数据是3gb(当导出为csv格式时),但是当我在Redis上加载它们时,它需要15GB ...它对我们的系统来说太大了.
我也尝试了不同的数据类型 -
1)'table_name:row_number:column_name' - > string 2)'table_name:row_number' - > hash
但所有这些都需要太多.
我错过了什么吗?
添加)
我的数据有4个col - (用户ID(pk),计数,创建时间和日期)
最有效的内存方式是将值存储为json数组,然后拆分键,以便使用ziplist编码的哈希值存储它们.
user:1234567 -> [21,'25-05-2012','14-06-2010']
.user:12345
和67
hset user:12345 67 <json>
hget user:98765 23
并解析json数组Instagram写了一篇很棒的博客文章解释这个技术,所以我将跳过解释为什么这是内存效率.
相反,我可以告诉你这种技术的缺点.
与往常一样,这是一种权衡.确定您的访问模式,看看这样的结构是否有意义.如果没有,你必须购买更多的内存.
归档时间: |
|
查看次数: |
979 次 |
最近记录: |