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

网站seo优化效果怎么做网站推广和宣传

网站seo优化效果,怎么做网站推广和宣传,怎么做网站缩略图,做网站建设的网站前面写了很多redis项目,今天在通过redis的理论加深redis的了解,顺便做个总结 Redis 理论部分 1.redis 速度快的原因 纯内存操作单线程操作,避免频繁的上下文切换以及资源争用的问题,多线程需要占用更多的cpu资源采用非阻塞I/O多…

前面写了很多redis项目,今天在通过redis的理论加深redis的了解,顺便做个总结

Redis 理论部分

1.redis 速度快的原因

  1. 纯内存操作
  2. 单线程操作,避免频繁的上下文切换以及资源争用的问题,多线程需要占用更多的cpu资源
  3. 采用非阻塞I/O多路复用机制
  4. 提供了非常高效的数据结构,比如双向列表,压缩页表,跳跃表等,可以根据实际的数据类型选择合适的数据编码

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 操作特性的 API;API 基本与 Redis 的指令一一对应,使用简单易理解。
缺点:同步阻塞 IO、不支持异步、线程不安全
Lettuce 高级 Redis 客户端,用于线程安全同步,异步和响应使用,支持集群,Sentinel,管道和编码器。
优点:线程安全;基于 Netty 框架的事件驱动的通信,可异步调用;适用于分布式缓存
缺点:API 更抽象,学习使用成本高
使用 Jedis 和 lettuce 总结
1、调大连接池大小能够提高 jedis 的吞吐量,但是不能避免出现超时错误和长时间等待。jedis 连接方式最大
连接数和最小、最大空闲连接数设置为一样有利于减少上下文切换时间,提升效率。
2、lettuce 调大连接池大小反而会影响性能,最佳个数=CPU 核数+1,lettuce 整体稳定性和性能优于 jedis 方式。

http://www.dinnco.com/news/53624.html

相关文章:

  • 东莞市网站推广长沙网站优化推广
  • 网站后台功能需求文档线上营销渠道有哪些
  • 怎么做php登陆网站seo工作职位
  • 戴尔公司网站设计特色h5下一页
  • 烟台做网站建设电话平台推广是什么意思
  • 中科院网站做的好的院所举例一个成功的网络营销案例
  • 古田网站建设网络渠道有哪些
  • 微信头像做国旗网站网站每天做100个外链
  • 360营销搜索引擎外部优化有哪些渠道
  • 网站被收录要怎么做seo运营工作内容
  • 成都网站建设设计公司新闻发稿平台
  • h5网站制作案例分析百度快速排名 搜
  • 网店代运营网站百度账号申诉
  • 编程软件大全厦门seo
  • 如何建设论坛网站目前最流行的拓客方法
  • 怎么创立网站模板网站建站公司
  • 深圳定制网站开发怎么推广一个平台
  • 公司营销网站建设搜索引擎营销的6种方式
  • 网站配色主题台州网络推广
  • 网站中的表单怎么做泉州网站seo公司
  • 在百度怎么做网站seo行业岗位
  • 官方网站下载打印机驱动百度广告联盟app下载官网
  • 网站开发工程师好吗国内搜索引擎排名
  • wordpress 分类目录函数网站seo推广优化
  • 如何做摄影网站适合小学生的最新新闻
  • wordpress数字商城关键词首页排名优化平台
  • 做网站商城靠谱指数函数
  • 哪家网站做旅游攻略好商城小程序
  • 潜江市建设工程合同备案网站百度公司简介介绍
  • 河南两学一做网站关键词推广哪家好