pc网站校园网站建设年度工作计划

张小明 2026/1/19 17:48:40
pc网站,校园网站建设年度工作计划,镇江网站排名优化公司,福永公司网站建设一、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进行投诉反馈,一经查实,立即删除!

网站优化 保定企业官网建站步骤

想要彻底解放双手,让碧蓝航线自动运行吗?AzurLaneAutoScript 是一款革命性的游戏自动化工具,专为碧蓝航线玩家设计,支持国服、国际服、日服和台服的全方位自动化管理。这款智能助手能够接管游戏中的核心玩法,为你实现真…

张小明 2026/1/17 21:03:07 网站建设

建设规范文件在哪个网站发布产品推广步骤

本文是大模型入门分享,介绍了基本大模型模式,分享出来希望帮助更多的同学参与到LLM应用建设。 前言 大模型作为新兴领域,不断地冒出来新的专有术语和新的概念,让大家觉得很神秘,捉摸不透。但是大部分复杂性的背后都会有…

张小明 2026/1/17 21:03:07 网站建设

电子商务网站建设网上商城东莞住建局

读研时最尴尬的时刻,莫过于找到一篇“命中注定”的文献,结果点开链接,迎面一个冷冰冰的“付费墙”(Paywall)。高昂的单篇下载费用让学生党望而却步。其实,学术界的“开放获取”(Open Access&…

张小明 2026/1/17 21:03:11 网站建设

福建网站建设哪家专业成都需要网站制作

10 个AI论文工具,助继续教育学员轻松完成毕业写作! AI 工具让论文写作不再难 在继续教育的道路上,毕业论文往往是一道难以逾越的难关。面对繁重的学业压力和时间限制,许多学员常常感到无从下手。而随着 AI 技术的不断进步&#xf…

张小明 2026/1/17 21:03:11 网站建设

毕业设计做网站可以用模版吗建筑公司怎么注册

文件与打印机共享管理全攻略 1. 文件共享与管理 在文件共享方面,我们可以通过特定方式将驱动器映射到共享文件夹内的子文件夹。具体操作是,通过浏览子文件夹或使用格式 \\<PC_name>\<folder_name>\<subfolder>\<subfolder> 指定文件夹名称。这样…

张小明 2026/1/17 21:03:12 网站建设