我有一个redis独立服务器,在给定实例上有大约8000个密钥。 显示出used_memeory约为8.5 GB。
我的个人键值大小最大为50kb左右,通过这种计算,used_memory应该小于1 GB(50kb * 8000)
我正在使用具有默认池配置的spring RedisTemplate连接到Redis
任何想法我应该研究一下,以缩小消耗内存的位置?
答案 0 :(得分:0)
zset
内部使用两个数据结构来保存相同的元素,以便将 O(log(N))插入和删除操作转换为排序的数据结构。
具体的两个数据结构是
根据我的研究,理想案例的存储顺序如下
hset
<set
<zset
如果您具有分层数据存储功能,我建议您开始使用hset
。这将降低您的内存消耗,但可能会使搜索速度变慢(仅当一个键具有多于几百条记录时才如此)