Redis使用太多内存,键数较少

时间:2019-01-03 14:55:46

标签: redis

我有一个redis独立服务器,在给定实例上有大约8000个密钥。 显示出used_memeory约为8.5 GB。

我的个人键值大小最大为50kb左右,通过这种计算,used_memory应该小于1 GB(50kb * 8000)

我正在使用具有默认池配置的spring RedisTemplate连接到Redis

任何想法我应该研究一下,以缩小消耗内存的位置?

1 个答案:

答案 0 :(得分:0)

zset内部使用两个数据结构来保存相同的元素,以便将 O(log(N))插入和删除操作转换为排序的数据结构。

具体的两个数据结构是

  • 哈希表
  • 跳过列表

根据我的研究,理想案例的存储顺序如下
hset <set <zset

如果您具有分层数据存储功能,我建议您开始使用hset。这将降低您的内存消耗,但可能会使搜索速度变慢(仅当一个键具有多于几百条记录时才如此)