分享好友 行情首页 行情分类 切换频道
省市区作为list缓存到redis 如果修改后如何快速更新缓存 redis如果list较大,怎么优化
2024-12-25 04:41  浏览:75


简单介绍使用Redis时可用的内存优化策略

从2.2版本开始,许多数据类型经过内存优化。像hash,list和仅由整数和有序集合组成的set,当小于给定的元素数量,到达到最大元素大小时,会以非常节省内存的方式进行编码,使得占用的内存最多减少10倍(平均节省5倍),这一过程对用户完全透明。可以调整redis.conf里的如下配置,来调整特殊编码类型的最大元素数量和最大元素大小,也就是说在配置的范围内,该元素集合会采用非常节省的内存方式进行编码:



如果某个特殊编码值超过配置的最大值,Redis会自动将其转换成正常编码,这个转换过程对于简单值很快,但如果是较大的聚合类型,建议运行基准测试来检查转换时间是否符合需求。

当Redis被编译为32位实例时,指针变小(通常的64位实例,指针对象都是8byte,32位实例,指针对象变小为4byte),它的每个键使用的内存更少,缺点是最大内存使用量将被限制在4GB,RDB和AOF在32位和64位实例之间相关兼容,所以从32位切换到64位或者反过来都没有问题

Redis2.2引入 , , 和 这些bit和byte级别的操作,能够让我们将Redis的string类型视为随机访问数组的效果(数组的随机访问时间复杂度O(1))。这在某些特定场景下有非常不错的表现,比如某个用户订阅功能里,用户由唯一的渐进整数标识,那么可以用bitmap保存订阅了的用户列表(或者未订阅的),对于有1亿用户来说,只需12MB的内存即可保存,这里设置记录使用到bit操作。

1MB=1024KB=1024000Byte=8192000

12MB等于98304000,约等于1亿

首先,多个key使用的内存空间比单个key多个字段的hash要占用更多的内存;其次,在前面介绍过,在hash比较小时,会采用特殊编码缩小占用的内存,这种编码结构像的线性数组,它的时间复杂度O(N),但在小集合时,它仍能将HGET和HSET命令的时间复杂度维持在O(1),从时间复杂度看效果不错,另外线性数组的结构是有利于CPU缓存。所以如果缓存对象或者存在关联字段的问题模型,使用hash是非常合适的。

另外,对于简单K-V,比如小的html片段,string-boolean或者string-string等,可以通过拆分重新分配处理来使用hash结构,例如:


HSET KEY FIELD VALUE 原始:object:1234 hash:HSET object:12 34 somevalue 原始:object:2 hash:HSET obejct 2 somevalue

一个现实使用hash节省内存的例子万金油的String,为什么不好用了。需要注意的是,每当hash超过配置指定的元素数或者元素大小,它将转换为真的hashtable结构,并失去节省的内存。

hash里的字段不能独立设置过期时间,所以如果有这方面的要求,可能需要调整。

Redis最多能分配的内存大小为maxmemory配置的值,当达到这个值后,写命令会失败,读命令正常,如果没有设置maxmemory,Redis会尝试继续按其认为合理的方式分配内存(使用虚拟内存),性能会急剧下降,因此建议配置一些相关限制。关于Redis的内存分配,需要注意的几点:

  • 删除的Key所占用的内存,并不总是立刻向OS释放内存,这是由于内存分配器没法释放内存,比如删除的Key与其他没有删除的Key在同一个page cache上,这时RSS(Resident Set Size)表现为维持现有值,但Redis里记录使用内存是降低的
  • 内存分配器会尝试重用先前释放的内存,RSS表现为平稳且没有增长
  • Redis所需要的内存需要根据峰值决定,而非平均值
  • 当峰值远大于当前使用的内存值时,碎片率的值变得不可靠(碎片率=RSS/mem_used,mem_used表示Redis分配的总和)
    以上就是本篇文章【省市区作为list缓存到redis 如果修改后如何快速更新缓存 redis如果list较大,怎么优化】的全部内容了,欢迎阅览 ! 文章地址:http://w.yusign.com/quote/5180.html 
     行业      资讯      企业新闻      行情      企业黄页      同类资讯      网站地图      返回首页 述古往 http://w.yusign.com/mobile/ , 查看更多   
最新新闻
微信视频号直播广告如何投放
我们现在发现很多企业做微信视频号的直播都要投广告了,没错,通过广告定向投放人群能将精准客户吸引到直播间,再通过主播的带货
IE浏览器软件哪个好 常用的IE浏览器软件排行
在这篇文章中,我们将深入探讨IE浏览器软件的热门选择及其在市场上的常用排行。无论是经典版本还是后续更新,你会了解到哪些浏览
Windows Phone 上的触控手势
下载代码示例当然,对于一种相对仍很年轻的技术来说,存在这么多的触控 API 也不足为奇。而且,多点触控比鼠标要复杂得多。这部
六年级上册16课夏天里的成长评课稿听课记录
六年级上册16课夏天里的成长评课稿听课记录一、读单元页,明确任务师:今天我们来学习第五单元,第五单元是一个习作单元。在这一
影视解说文案自动生成器-影视解说文案自动生成器2.50
在数字化时代的浪潮下,影视行业迎来了前所未有的发展机遇。随着影视作品的增多,怎样为这些作品打造出引人入胜的解说文案,成为
适合发朋友圈的句子大全11篇
【#好词好句# #适合发朋友圈的句子大全11篇#】旅行可以放松自己的心情,宽阔自己的心境,忘掉不顺心,迎接新的开心。旅行是在寻
从零开始学OPERA操作系统
1、房间查找 包括以下内容房间的状态分10种类型所有房间干净,经主管检查有问题,待查房干净房脏房一 快捷键的操作1 F1 OPERA HE
生成式AI为高级分析提供了新的可能性
生成式人工智能(genai) 的出现为工业过程分析带来了令人兴奋的新前景。这项变革性技术可以根据用户的提示生成新的文本、代码和图
阿里P9的真实生活!年薪300万却活得像穷人,依然生活在温饱线上……
  阿里巴巴是许多人梦想的工作地方。  在阿里,P9的年薪甚至高达300万。  他说,他的生活标准,其实并不高,只是跟随着收
本企业新闻
推荐企业新闻
发表评论
0评