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

北京高端网站定制公司网站如何在国外推广

北京高端网站定制公司,网站如何在国外推广,北京最大的广告公司,微信官网网站前面写了很多redis项目#xff0c;今天在通过redis的理论加深redis的了解#xff0c;顺便做个总结 Redis 理论部分 1.redis 速度快的原因 纯内存操作单线程操作#xff0c;避免频繁的上下文切换以及资源争用的问题#xff0c;多线程需要占用更多的cpu资源采用非阻塞I/O多… 前面写了很多redis项目今天在通过redis的理论加深redis的了解顺便做个总结 Redis 理论部分 1.redis 速度快的原因 纯内存操作单线程操作避免频繁的上下文切换以及资源争用的问题多线程需要占用更多的cpu资源采用非阻塞I/O多路复用机制提供了非常高效的数据结构比如双向列表压缩页表跳跃表等可以根据实际的数据类型选择合适的数据编码 Redis 是基于内存的操作CPU 一般不会是 Redis 的瓶颈Redis 的瓶颈最有可能是机器内存的大小或者网络宽带。既然单线程容易实现而且 CPU 不会成为瓶颈那么采用单线程的方案。 注意本质上 Redis 并不是单纯的单线程服务模型一些辅助工作比如持久化刷盘、惰性删除等任务是由 BIO线程来完成的这里说的单线程主要是说与客户端交互完成命令请求和回复的工作线程。 重点执行命令的核心模块是单线程的。新的命令并不会立即被执行而是统一的放到了队列中一条一条的执行单线程还有一个问题就是对于每个命令的执行时间是有要求的如果其中的某一个命令执行过长会造成其他命令的阻塞这对于 Redis 这种高性能的服务来说是致命的记住 Redis 是面向快速执行场景的数据库 2.充当缓存的 Redis 和 Memcached 1、存储方式上Memcache 会把数据全部存在内存之中断电后会挂掉数据不能超过内存大小。Redis 有部 分数据存在硬盘上这样能保证数据的持久性。 2、数据支持类型上Memcache 对数据类型的支持简单只支持简单 key-value而 Redis 最基本都要支持五 种数据类型。 3、使用底层模型不同它们之间底层实现方式以及与客户端之间通信的应用协议不一样。Redis 直接自己构建 了 VM 机制因为一般的系统调用系统函数的话会浪费一定的时间去移动和请求。 4、值大小Redis 可以达到 1GB而 Memcache 只有 1MB。 3.Redis 缓存使用场景 1、降低后端负载 2、加速请求响应 3、大量写合并为批量写 4.Redis 缓存策略 1、LRU、LFU、FIFO 2、超时剔除 3、主动更新 5.内存淘汰策略 1、volatile-lru 从已设置过期时间的数据集中挑选最近最少使⽤的数据淘汰 2、volatile-random 从已设置过期时间的数据集中任意选择数据淘汰 3、allkeys-lru 当内存不⾜以容纳新写⼊数据时在键空间中移除最近最少使⽤的 key常用 4、allkeys-random 从数据集中任意选择数据淘汰 5、volatile-ttl 从已设置过期时间的数据集中挑选将要过期的数据淘汰 6、no-eviction 禁止驱逐数据也就是说当内存不⾜以容纳新写⼊数据时新写⼊操作会报错 OOM。 4.0 版本后增加两种 7、volatile-lfu 从已设置过期时间的数据集中挑选最不经常使⽤的数据淘汰 8、allkeys-lfu 当内存不⾜以容纳新写⼊数据时在键空间中移除最不经常使⽤的 key。 常见选择: allkeys-lru 用于应用对缓存的访问符合幂律分布也就是存在相对热点数据或者不太清楚应用的缓存访问分布状况可以选择 allkeys-lru 策略。 allkeys-random 应用对于缓存 key 的访问概率相等则可以使用这个策略。 volatile-ttl 策略使得可以向 Redis 提示哪些 key 更适合被移除 Redis 删除策略 redis 开辟了一个空间用来存放值的地址和其过期时间删除策略是为了在内存和 cpu 之间找到一个平衡过期数据通常是在 cpu 闲暇之余被删除的。 Redis 中的过期数据删除情况redis 服务器当中有很多的操作需要被执行执行会导致 CPU 的工作大大的增加当内存的空间还足够时已被删除的数据的内存空间并未直接释放而是对客户端的指令先执行redis 中的数据删除策略包括定时删除、惰性删除、定期删除。 定时删除是对 CPU 和内存消耗取得一个折中方案通过每隔一段时间执行一次删除过期 key 的操作并且通过限制删除操作执行的时长和频率来减少删除操作对 CPU 造成的影响周期性轮询 redis 库中的时效性数据采用随机抽取的策略利用过期数据占比的方式控制删除频度。一般在 redis 应用中会使用惰性删除和定期删 除两种方式 6.Redis 缓存问题 1、缓存穿透大量请求缓存中数据库并不存在的数据。 解决方案 1、布隆过滤器。 2、缓存空对象 2、缓存击穿大量请求缓存中同时访问一个过期数据。 解决方案1、设置 key 永不过期和随机时间失效。 2、互斥锁使访问有序 3、缓存雪崩大量请求缓存中大面积失效的缓存数据。 解决方案1、缓存数据设置随机的过期时间防止同 一时间大量数据集合失效。 2、集群将数据分布在不同的缓存数据库中。 3、限流通过加锁或队列来控制读数据库写缓存的线程数量 7. redis 编程客户端 Lettuce 支持同步、异步通信的方式 API 调用也支持响应式编程 API包括发布/订阅消息、高可用性服务部署架构。 Jedis 是 Redis 的 Java 实现客户端提供了比较全面的 Redis 命令的支持。 **优点**提供了比较全面的 Redis 操作特性的 APIAPI 基本与 Redis 的指令一一对应使用简单易理解。 缺点同步阻塞 IO、不支持异步、线程不安全 Lettuce 高级 Redis 客户端用于线程安全同步异步和响应使用支持集群Sentinel管道和编码器。 优点线程安全基于 Netty 框架的事件驱动的通信可异步调用适用于分布式缓存 缺点API 更抽象学习使用成本高 使用 Jedis 和 lettuce 总结 1、调大连接池大小能够提高 jedis 的吞吐量但是不能避免出现超时错误和长时间等待。jedis 连接方式最大 连接数和最小、最大空闲连接数设置为一样有利于减少上下文切换时间提升效率。 2、lettuce 调大连接池大小反而会影响性能最佳个数CPU 核数1lettuce 整体稳定性和性能优于 jedis 方式。
http://www.zqtcl.cn/news/585029/

相关文章:

  • 公司网站版面怎么设计湖南做网站 就问磐石网络专业
  • 描述网站开发的广告词黄页网络的推广
  • 打开官方网站广告平面设计好学吗
  • 建设银行观澜支行网站做网站公司汉狮网络
  • 荆州学校网站建设seo专业培训机构
  • 网站制作上网建站程序的价钱
  • 阿里巴巴网站建设规划24小时学会网站建设pdf
  • wordpress建站以后网络公司注册资金多少
  • wordpress下载站模板优秀网站开发公司
  • ppt模板免费下载完整版免费网站微网站开发商
  • 网站建设前的分析第一小节内容wordpress自带主题下载失败
  • 深圳微信网站设计网站建设设计制作外包
  • 做数模必逛的网站wordpress 培训 主题
  • 开发网站语言天元建设集团有限公司电话
  • 兼职做网站访问量和数据关于外贸公司的网站模板
  • 旅游网站设计与实现软件定制报价单
  • 上海专业网站建站公网站开发人员
  • 淄博网站建设公司有几家网络培训平台下载
  • 优秀网站展示仲恺做网站
  • 达州做淘宝网站制作3d动画的软件
  • 服务器主机搭建网站wordpress 隐私设置
  • 专业的网站制作公司wordpress 网页模板
  • 中国建设人才服务信息网是什么网站深圳居家办公最新通知
  • 中国建设银行网站招聘wordpress 文件下载插件
  • 福州企业建站程序莆田市的网站建设公司
  • 龙岩做网站推广龙华品牌网站建设
  • 如何用网站开发工具停止网页进程微信网站 教程
  • 高端网站网站设计网站建设怎么分析市场分析
  • 株洲网站设计外包运营wordpress seo插件教程
  • 做湘菜的网站wordpress外贸网站