当前位置: 首页 > news >正文

wordpress网站修改域名广告推广营销网站

wordpress网站修改域名,广告推广营销网站,新问网站设计,东莞技术支持骏域网站建设专家目录标题 Key命名设计#xff1a;可读性、可管理性、简介性Value设计#xff1a;拒绝大key控制Key的生命周期#xff1a;设定过期时间时间复杂度为O(n)的命令需要注意N的数量禁用命令#xff1a;KEYS、FLUSHDB、FLUSHALL等不推荐使用事务删除大key设置合理的内存淘汰策略使… 目录标题 Key命名设计可读性、可管理性、简介性Value设计拒绝大key控制Key的生命周期设定过期时间时间复杂度为O(n)的命令需要注意N的数量禁用命令KEYS、FLUSHDB、FLUSHALL等不推荐使用事务删除大key设置合理的内存淘汰策略使用批量操作提升操作效率 Key命名设计可读性、可管理性、简介性 规范建议使用冒号即:进行分割拼接因为很多Redis客户端是根据冒号分类的。比如有几个Keyapps:app:1、apps:app:2和apps:app:3。Redis Desktop Manager能自动归类到apps目录下。如下图所示 Value设计拒绝大key 规范建议String类型的Value控制在10KB范围以内。这是因为Redis随着Value不断增长在超过10KB后有一个非常奇妙的性能拐点如下图所示 假设内网带宽是千兆网卡即1000MB。假设你的Redis中有一个大Key的Value长度是10KB并且这个Key的QPS是10W那么这一个Key就会把带宽打满10KB*1000001000MB。 控制Key的生命周期设定过期时间 尽可能对每一个Key都设置过期时间这个是非常有益处的。否则你想象一下半年以后一年以后你的Redis集群中有上百G甚至更多的数据谁都不知道这些数据哪些是有价值的哪些已经成为垃圾。如果你的每个Key都设置了过期时间那么就不会出现这个问题了。集群在运行过程中或自动淘汰那些已经不再使用的垃圾缓存数据。 时间复杂度为O(n)的命令需要注意N的数量 这个建议的意思是以List类型为例LINDEX、LREM等命令的时间复杂度就是O(n)。也就是说随着List中元素数量越来越多这些命令的性能越来越差。而Redis又是单线程的如果出现一个慢命令会导致在这个命令之后执行的命令耗时也会增长这是使用Redis的大忌。 事实上这也是JDK8为什么要对HashMap进行链条冲突优化当entry数量不少于64时如果冲突链表长度达到8就会将其转成红黑树。因为链表长度越长性能会越来越差。 禁用命令KEYS、FLUSHDB、FLUSHALL等 这些命令应该在搭建Redis环境的时候就要禁用掉在config配置文件中通过rename-command禁用。FLUSHDB和FLUSHALL这两个命令会清空数据后果可想而知。 至于KEYS命令还记得那个由于使用这个命令导致几百万损失的案例嘛而且这个命令的不当使用导致的损失会随着你的业务并发越大价值越大而导致损失越大 不推荐使用事务 如果你有使用关系式数据库的经验那么“Redis在事务失败时不进行回滚而是继续执行余下的命令”这种做法可能会让你觉得有点奇怪。以下是官方给出的Redis不支持这种做法的优点 Redis命令只会因为错误的语法而失败或是命令用在了错误类型的键上面这也就是说从实用性的角度来说失败的命令是由编程错误造成的而这些错误应该在开发的过程中被发现而不应该出现在生产环境中。因为不需要对回滚进行支持所以 Redis 的内部可以保持简单且快速。 删除大key 如果Redis中有大key那么删除可能会产生毛刺。当然如果你的Redis是4.0以上并使用UNLINK命令删除key那么不会有什么问题。那Redis4.0以下该怎么删除大key呢 如果是hash结构那么先利用scan命令遍历得到一批field然后利用hdel命令进行删除 如果是list结构那么先利用llen得到list中元素总个数然后利用ltrim命令批量删除 如果是set结构那么先利用sscan命令遍历得到一批key然后利用srem命令批量删除 如果是sorted set结构那么先利用zscan命令遍历得到一批key然后利用zrem命令批量删除如果是string结构呢没有什么很好的办法 设置合理的内存淘汰策略 Redis的内存剔除策略maxmemory-policy有volatile-lru、volatile-random、volatile-ttl、allkeys-lru、allkeys-random、noeviction。命名以volatile开头的3个策略主要作用于带有失效时间属性的key命名以allkeys开头的2个策略作用于所有key最后一个策略noeviction不会剔除任何数据只是当内存使用满了以后拒绝所有写入操作并返回客户端错误信息(error) OOM command not allowed when used memory此时Redis只响应读操作。 事实上每种方案都有一定的局限性所以我们除了根据自己的业务选择合适的剔除策略以后还需要对Redis使用的内存进行监控主要监控info中info Memory段的used_memory_peak即Redis使用内存峰值建议设置其告警阈值为maxmemory的90%。 使用批量操作提升操作效率 批量命令主要分为两类原生命令和非原生命令 原生命令包括例如mget、mset、hmget、hmset、LPUSH key value集合等。非原生命令包括Pipeline。 合理使用这些命令对操作性能提升是极其巨大的尤其在单机Redis或者Sentinel模式下。因为这两种架构不涉及跨SlotRedis集群性能也有提升但是使用会受到一些限制例如不支持跨Slot的操作等官方并不太建议在Rdis集群环境下使用Pileline和multi key操作。 当然批量虽好但不要贪多。俗话说的好贪多嚼不烂。一般不要超过1000具体限制还与操作数据大小有关。
http://www.hkea.cn/news/14406071/

相关文章:

  • 常州做沙滩旗的公司网站wordpress怎样禁止采集
  • 网站建设基础课程汕尾北京网站建设
  • 社保官方网站登录入口代码优化
  • 做网站开发有前途吗阳江网站建设
  • 安卓4.3网站开发兼容富阳seo关键词优化
  • 360免费建站怎么做什么类型的产品可以做网站出口
  • 进销存有利于优化的网站模板
  • 网站设置不能手机访问给网站做排名优化学什么好处
  • 网站建设公司潍坊建筑工程学院
  • 怎样加强企业网站建设泰安网站建设论文结论
  • 邵阳网站建设哪家好wordpress 多个网址
  • 淘宝客自建网站做还是用微信qq做网站开发需要什么文凭
  • 企业软文营销发布平台seo服务器选择
  • 重庆旅游网站制作公司外贸高端网站定制
  • 湖南做网站 尖端磐石网络引流软件有哪些
  • 余姚做网站公司wordpress-5.2.zip
  • 好的互联网资讯网站网站外包 多少钱
  • 类似饿了么的网站怎么做建设一个网站要学什么
  • 安徽华夏网站建设node做网站怎么知道蜘蛛来过
  • 大气个人网站源码兔展h5制作
  • 网络彩票网站建设多少钱做淘客网站简单吗
  • 关于设计的网站怎么搞软件开发
  • 爱站网站长seo综合查询工具英文写作网站
  • 淘客网站做弹窗广告晋江论坛网站
  • 网站的权限设置什么网站做任务可以赚钱
  • 深圳南山工厂网站建设费用wordpress 不用php
  • 建设人行官方网站下载北京vi设计培训
  • 学校学院网站建设意义程序员给传销做网站
  • 资讯网站 怎样 增强用户粘度ui做标注的网站
  • 百度联盟怎么做网站揭阳专业做网站