官方网站建设 找磐石网络一流太原北京网站建设

张小明 2026/1/13 0:04:36
官方网站建设 找磐石网络一流,太原北京网站建设,wordpress海报插件,如何查看自己的企业邮箱一、Redis Key-Value设计规范性能优化 1. key名设计规范 【建议】 以业务名(或数据库名)为前缀(防止key冲突)#xff0c;用冒号分隔#xff0c;比如业务名:表名:id login:user:10 优点#xff1a; 可读性强避免key冲突方便管理更节省内存#xff1a;key是string类…一、Redis Key-Value设计规范性能优化1. key名设计规范【建议】以业务名(或数据库名)为前缀(防止key冲突)用冒号分隔比如业务名:表名:id login:user:10优点可读性强避免key冲突方便管理更节省内存key是string类型底层编码包含int、embstr和raw三种。embstr在小于44字节使用采用连续内存空间内存占用更小(2)【建议】简洁性保证语义的前提下控制key的长度当key较多时内存占用也不容忽视例如(3)【强制】不要包含特殊字符反例包含空格、换行、单双引号以及其他转义字符(4)、拒绝BigKeyBigKey通常以Key的大小和Key中成员的数量来综合判定例如Key本身的数据量过大一个String类型的Key它的值为5 MB。Key中的成员数过多一个ZSET类型的Key它的成员数量为10,000个。Key中成员的数据量过大一个Hash类型的Key它的成员数量虽然只有1,000个但这些成员的Value值总大小为100 MB。2. Value设计规范(1)【强制】拒绝bigkey(防止网卡流量、慢查询)在Redis中一个字符串最大512MB一个二级数据结构例如hash、list、set、zset可以存储大约40亿个(2^32-1)个元素但实际中如果下面两种情况我就会认为它是bigkey。字符串类型它的big体现在单个value值很大一般认为超过10KB就是bigkey。非字符串类型哈希、列表、集合、有序集合它们的big体现在元素个数太多。一般来说string类型控制在10KB以内hash、list、set、zset元素个数不要超过5000。反例一个包含200万个元素的list。2、拒绝BigKeyBigKey通常以Key的大小和Key中成员的数量来综合判定例如Key本身的数据量过大一个String类型的Key它的值为5 MB。Key中的成员数过多一个ZSET类型的Key它的成员数量为10,000个。Key中成员的数据量过大一个Hash类型的Key它的成员数量虽然只有1,000个但这些成员的Value值总大小为100 MB。推荐单个key的value小于10KB对于集合类型的key建议元素数量小于10001、BigKey的危害网络阻塞 对BigKey执行读请求时少量的QPS就可能导致带宽使用率被占满导致Redis实例乃至所在物理机变慢数据倾斜 BigKey所在的Redis实例内存使用率远超其他实例无法使数据分片的内存资源达到均衡Redis阻塞 对元素较多的hash、list、zset等做运算会耗时较旧使主线程被阻塞CPU压力 对BigKey的数据序列化和反序列化会导致CPU的使用率飙升影响Redis实例和本机其它应用2、如何发现BigKeyredis-cli --bigkeys利用redis-cli提供的--bigkeys参数可以遍历分析所有key并返回Key的整体统计信息与每个数据的Top1的big keyscan扫描 自己编程利用scan扫描Redis中的所有key利用strlen、hlen等命令判断key的长度此处不建议使用MEMORY USAGE第三方工具 利用第三方工具如 Redis-Rdb-Tools 分析RDB快照文件全面分析内存使用情况网络监控 自定义工具监控进出Redis的网络数据超出预警值时主动告警3、如何删除BigKeyBigKey内存占用较多即便时删除这样的key也需要耗费很长时间导致Redis主线程阻塞引发一系列问题。redis 3.0 及以下版本如果是集合类型则遍历BigKey的元素先逐个删除子元素最后删除BigKeyRedis 4.0以后Redis在4.0后提供了异步删除的命令unlink3、恰当的数据类型数据存储到Redis当中如何选择恰当的类型呢举例说明一下例1比如存储一个User对象我们有三种存储方式方式一json字符串user:1{name: Jack, age: 21}优点实现简单粗暴缺点数据耦合不够灵活方式二字段打散user:1:nameJackuser:1:age21优点可以灵活访问对象任意字段缺点占用空间大、没办法做统一控制方式三hashuser:1nameJack其实第一列的单元格是合并的jack21优点底层使用ziplist空间占用小可以灵活访问对象的任意字段缺点代码相对复杂PS总的来说还是哈希比较好一点空间小且灵活代码其实也复杂不到哪去多那几行代码一下就完事了例2假如有hash类型的key其中有100万对field和valuefield是自增id这个key存在什么问题如何优化方案一hash存储如果还使用hash来存储的话会存在以下问题hash的entry数量超过500时会使用哈希表而不是ZipList内存占用较多。可以通过hash-max-ziplist-entries配置entry上限。但是如果entry过多就会导致BigKey问题方案二采用String类型存储拆分为StringKeyvalueid:0value0..........id:999999value999999存在的问题string结构底层没有太多内存优化内存占用较多。想要批量获取这些数据比较麻烦方案三拆分为小的hash将 id / 100 作为key 将id % 100 作为field这样每100个元素为一个Hash采用小的hash结构之后内存缩小了接近1/3。4、总结Key的最佳实践固定格式[业务名]:[数据名]:[id]足够简短不超过44字节不包含特殊字符Value的最佳实践合理的拆分数据拒绝BigKey选择合适数据结构Hash结构的entry数量不要超过1000设置合理的超时时间
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

怎么做免费网站推常用网站建设技术是什么

第一章:Open-AutoGLM本地化部署全景解析Open-AutoGLM作为新一代开源自动化语言模型框架,支持在本地环境中完成模型推理、微调与任务编排。其设计兼顾灵活性与高性能,适用于企业级私有化部署场景。通过容器化封装与模块化配置,用户…

张小明 2026/1/9 2:21:03 网站建设

十大利润最高的实体店seo工具是什么意思

LobeChat 能否实现多语言翻译?——从工具调用到跨语言智能的实践路径 在远程协作成为常态、全球团队频繁交叠的今天,你是否曾遇到这样的场景:一位法国客户发来一封法语邮件,而你的产品文档还停留在中文初稿阶段;或是国…

张小明 2026/1/9 9:57:05 网站建设

搭建个人网站的两种方法扬州seo推广

目录具体实现截图系统所用技术介绍写作提纲核心代码部分展示系统性能结论源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!具体实现截图 springboot_ssm健身房会员私教预约打卡管理系统 系统所用技术介绍 本系统采取了一系列的设计…

张小明 2026/1/9 9:57:02 网站建设

php做网站用html做吗宁波seo推广服务

GJB9001C-2017质量管理体系权威指南 【免费下载链接】GJB9001C-2017质量管理体系要求下载 GJB9001C-2017质量管理体系要求下载 项目地址: https://gitcode.com/Open-source-documentation-tutorial/520cb 开启质量管理新篇章:这份高清PDF文档为您带来军工领域…

张小明 2026/1/12 10:50:18 网站建设

做围棋题最好的网站襄阳手机网站建设

在数字化内容爆炸的时代,内容创作者和粉丝群体面临着共同的痛点:如何高效获取和管理分散在各个平台的优质视频内容?48tools开源项目正是为解决这一难题而生的专业工具集合。作为一款专注于多媒体内容获取的视频内容获取解决方案,它…

张小明 2026/1/9 9:56:57 网站建设

在线买房网站建设 方案网站搭建兼职

这几年,大模型能力跃迁:它们能写代码、能回答问题、能规划步骤,甚至能代替我们做一些思考。 模型越来越聪明, 但只要把事情落到“数据”上,一切又回到了原点: 数据必须先被连接 数据必须被清洗 数据必须…

张小明 2026/1/9 6:27:07 网站建设