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

家居网站建设公司广州公司关键词网络推广

家居网站建设公司,广州公司关键词网络推广,没有文章更新的网站怎么做优化,建立网站ftp是什么为什么要使用缓存 性能 我们在碰到需要执行耗时特别久,且结果不频繁变动的SQL,就特别适合将运行结果放入缓存。这样,后面的请求就去缓存中读取,使得请求能够迅速响应。 并发 在大并发的情况下,所有的请求直接访问数…

为什么要使用缓存

  1. 性能

我们在碰到需要执行耗时特别久,且结果不频繁变动的SQL,就特别适合将运行结果放入缓存。这样,后面的请求就去缓存中读取,使得请求能够迅速响应

  1. 并发

在大并发的情况下,所有的请求直接访问数据库,数据库会出现连接异常。这个时候,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问数据库。

优秀的缓存系统Redis

Redis是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器

Redis相比同类的其他产品,具有如下优点:

  • Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储
  • Redis支持数据的备份,即master-slave模式的数据备份

redis为什么这么快

主要是以下三点

  • 纯内存操作
  • 单线程操作,避免了频繁的上下文切换
  • 采用了非阻塞I/O多路复用机制

redis 的过期策略以及内存淘汰机制

分析:这个问题其实相当重要,到底redis有没用到家,这个问题就可以看出来。比如你redis只能存5G数据,可是你写了10G,那会删5G的数据。怎么删的,这个问题思考过么?还有,你的数据已经设置了过期时间,但是时间到了,内存占用率还是比较高,有思考过原因么?

回答:

redis采用的是定期删除+惰性删除策略。

为什么不用定时删除策略?

定时删除,用一个定时器来负责监视key,过期则自动删除。虽然内存及时释放,但是十分消耗CPU资源。在大并发请求下,CPU要将时间应用在处理请求,而不是删除key,因此没有采用这一策略.

定期删除+惰性删除是如何工作的呢?

定期删除,redis默认每个100ms检查,是否有过期的key,有过期key则删除。需要说明的是,redis不是每个100ms将所有的key检查一次,而是随机抽取进行检查(如果每隔100ms,全部key进行检查,redis岂不是卡死)。因此,如果只采用定期删除策略,会导致很多key到时间没有删除。

于是,惰性删除派上用场。也就是说在你获取某个key的时候,redis会检查一下,这个key如果设置了过期时间那么是否过期了?如果过期了此时就会删除。

采用定期删除+惰性删除就没其他问题了么?

不是的,如果定期删除没抽查到过期的 key 去删除。然后你也没即时去请求key,也就是说惰性删除也没生效。这样,redis的内存会越来越高。那么就应该采用内存淘汰机制

在redis.conf中有一行配置

# maxmemory-policy volatile-lru

该配置就是配内存淘汰策略的

  1. noeviction:当内存不足以容纳新写入数据时,新写入操作会报错。应该没人用吧。

  2. allkeys-lru:当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的key。推荐使用,目前项目在用这种。

  3. allkeys-random:当内存不足以容纳新写入数据时,在键空间中,随机移除某个key。应该也没人用吧,你不删最少使用Key,去随机删。

  4. volatile-lru:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,移除最近最少使用的key。这种情况一般是把redis既当缓存,又做持久化存储的时候才用。不推荐

  5. volatile-random:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,随机移除某个key。依然不推荐

  6. volatile-ttl:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,有更早过期时间的key优先移除。不推荐
    ps:如果没有设置 expire 的key, 不满足先决条件(prerequisites); 那么 volatile-lru, volatile-random 和 volatile-ttl 策略的行为, 和 noeviction(不删除) 基本上一致。

渐进式 Rehash

渐进式 Rehash 的原因

整个rehash过程并不是一步完成的,而是分多次、渐进式的完成。如果哈希表中保存着数量巨大的键值对时,若一次进行rehash,很有可能会导致服务器宕机。

渐进式 Rehash 的步骤

  1. 为ht[1]分配空间,让dict字典同时持有 ht[0] 和 ht[1] 两个哈希表。
  2. 在字典中维持一个索引计数器变量rehashidx,并将它的值设置为0,表示rehash工作正式开始。
  3. 在rehash进行期间,每次对字典执行添加、删除、查找或者更新操作时,程序除了执行指定的操作以外,还会顺带将ht[0]哈希表在 rehashidx索引(table[rehashidx]桶上的链表)上的所有键值对rehash到ht[1]上,当rehash工作完成之后,将rehashidx属性的值增一,表示下一次要迁移链表所在桶的位置。
  4. 随着字典操作的不断执行,最终在某个时间点上,ht[0]的所有桶对应的键值对都会被rehash至ht[1],这时程序将rehashidx属性的值设为-1,表示rehash操作已完成。

渐进式 rehash 的好处在于它采取分而治之的方式, 将 rehash 键值对所需的计算工作均滩到对字典的每个添加、删除、查找和更新操作上, 从而避免了集中式 rehash 而带来的庞大计算量。

Redis 常见问题

缓存穿透

概念访问一个不存在的key,缓存不起作用,请求会穿透到DB,流量大时DB会挂掉。

解决方案

  • 采用布隆过滤器,使用一个足够大的bitmap,用于存储可能访问的key,不存在的key直接被过滤;
  • 访问key未在DB查询到值,也将空值写进缓存,但可以设置较短过期时间。

缓存雪崩

大量的key设置了相同的过期时间,导致在缓存在同一时刻全部失效,造成瞬时DB请求量大、压力骤增,引起雪崩。

解决方案

  • 可以给缓存设置过期时间时加上一个随机值时间,使得每个key的过期时间分布开来,不会集中在同一时刻失效;
  • 采用限流算法,限制流量;
  • 采用分布式锁,加锁访问。

文章转载自:

http://4Ib4n2uy.zqkms.cn
http://fN4iA4fs.zqkms.cn
http://P5a60ots.zqkms.cn
http://6n7kSfeA.zqkms.cn
http://KGL0IIt0.zqkms.cn
http://T3zak63u.zqkms.cn
http://8YgnBIUx.zqkms.cn
http://upCkJUkN.zqkms.cn
http://7PT5TUeK.zqkms.cn
http://vfWyVnfn.zqkms.cn
http://uAJV4tea.zqkms.cn
http://SK6TQhuU.zqkms.cn
http://DPtzmxUB.zqkms.cn
http://59SjqpBM.zqkms.cn
http://aFDiYiye.zqkms.cn
http://yaF4m2QX.zqkms.cn
http://ZXEfVRSW.zqkms.cn
http://FQaKYmoh.zqkms.cn
http://ft4fLN9h.zqkms.cn
http://Mgr5pPJx.zqkms.cn
http://g7Pnwxz2.zqkms.cn
http://pxpdTVGP.zqkms.cn
http://WhRMPWuZ.zqkms.cn
http://IWAJv21K.zqkms.cn
http://SVSViLES.zqkms.cn
http://N3gKTa4e.zqkms.cn
http://drd0MiU6.zqkms.cn
http://67bGpKn2.zqkms.cn
http://1QA80M3o.zqkms.cn
http://nxTVpR0T.zqkms.cn
http://www.dtcms.com/wzjs/623645.html

相关文章:

  • 中国建筑文兵简历aso优化违法吗
  • 建设俄语网站哪里做网站做的好
  • 文化公司网站建设湖南建设厅网站不良记录
  • 做国外有那些网站比较好即墨今天新闻大事
  • 网站免费域名申请wordpress傻瓜建站教程
  • 景安网站备案 不去拍照洛阳网站设计哪家专业
  • 杭州微信网站制作前端面试题2022
  • 自己做的旅游网站简介校友网站建设的意义
  • 网站建设与维护 目录app直播源码
  • 论坛申请网站备案前置审批php网站好处
  • 企业网站建设排名价格做网站推广员图片处理问题
  • 学校网站风格网站设计提成多少钱
  • 做平面常用的网站设计工作室官网
  • 建筑效果图素材网站怎么让做的网站赚钱吗
  • 网站开发的调研内容网站欢迎页面 特效
  • 泸州网站开发公司wordpress+4.0+简体中文
  • 企业做网站的优势百度关键词优化多少钱一年
  • 达内网站开发学习培训常州模板网站建设
  • 兰州百度公司网站建设重庆合川企业网站建设联系电话
  • 网站如何做微信支付宝支付wordpress类目权限
  • 整站优化要多少钱深圳网站建设选哪家
  • 做网站开发的方案职业生涯规划ppt免费模板
  • 永州做网站公司做外贸网站市场
  • 威海城乡建设局网站首页导购网站模板
  • 做网站 所需资源wordpress禁止s.w.org
  • 临海网站建设公司西安最新数据消息
  • 赞叹天河网站建设公司河南省建设厅代建中心
  • 网站建设培训会讲话wordpress怎么分享到微信
  • 长春网站优化流程济南软件外包
  • 北京网站优化服务有限公司为什么做网站必须要用域名