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

重庆市建设工程信息网官网30系统免费seo推广公司

重庆市建设工程信息网官网30系统,免费seo推广公司,中山高端网站建设,北京公司如何做网站目录 Redis概述 应用场景 Redis的线程模式 数据持久化 1.Rdb(Redis DataBase) 2.Aof(Append Only File) mysql与redis保持数据一致 redis事务 主从复制(Redis集群) 哨兵模式 key过期策略 缓存穿透、击穿、…

目录

Redis概述

应用场景

Redis的线程模式

数据持久化

1.Rdb(Redis DataBase)

2.Aof(Append Only File)

mysql与redis保持数据一致

redis事务

主从复制(Redis集群)

哨兵模式

key过期策略

缓存穿透、击穿、雪崩

1.缓存穿透:缓存中没有,在mysql中也没有

2.缓存击穿:数据在数据库中存在,某个热点的key(秒杀、抢购)但是在Redis中过期了,此时有大量请求,查询mysql

3.缓存雪崩:访问量很大,大量key失效


Redis概述

非关系型数据库,以键值对的形式存储,读写速度快,数据持久化,支持多类型数据。

应用场景

1.缓存:

        访问量大的(秒杀、点赞)

        修改少的

        存储验证码(定时删除)

2.计数器

3.排行榜(zset)

4.去重(set)

5.消息队列(list) 排号

6.分布式锁

Redis的线程模式

在6.0之前是客户端连接和读写数据上是单线程模式

在6.0之后在客户端连接上是多线程模式,但在数据读写上是单线程的。

为什么使用单线程速度还很快?

1.基于内存存储

2.底层存储数据结构为hash表o(1)

3.单线程模式避免了线程的切换,性能消耗少,并且单线程避免了死锁的发生。

数据持久化

因为数据存储在内存,存在数据丢失,以便在重启后恢复数据。 

1.Rdb(Redis DataBase)

在指定的时间间隔下,将数据以二进制的形式写入磁盘,默认为保存在 dump.rdb,当符合一定条件时 Redis 会自动将内存中的数据进行快照并持久化到硬盘。

触发快照时期

save:用来配置触发 Redis 的 RDB 持久化条件,也就是什么时候将内存中的数据保存到硬盘。比如"save m n"。表示 m 秒内数据集存在 n 次 修改时,自动触发 bgsave。

save 900 1 :表示 900 秒钟内至少 1 个键被更改则进行快照。

save 300 10 :表示 300 秒内至少 10 个键被更改则进行快照。

save 60 10000 :表示 60 秒内至少 10000 个键被更改则进行快照。

 若不持久化,可以注释掉save

2.Aof(Append Only File

以日志的形式进行存储,将 Redis 执行过的所有指令记录下来(读操作不记录)。

appendon1y no #默认是不开启    yes 开启

appendfilename  appendonly.aof #默认的文件名是 appendonly.aof,可以通过 appendfilename 参数修改。

AOF 同步机制 

appendfsync always   #每次修改都会 sync。消耗性能

appendfsync everysec #每秒执行一次 sync,可能会丢失这 1s 的数据(默认)

重启 redis 生效

mysql与redis保持数据一致

将mysql中的数据修改后,redis中的数据需要与mysql中的数据保持一致

解决方式:

1.先更新mysql中的数据,再更新redis中的数据,如果redis数据更新失败,也会导致数据不一致。 

2.先删除redis中的数据,再更新mysql 中的数据,再次查询的时候将数据添加到缓存中,但是当redis中的数据删除后,mysql正进行更新,线程1进行查询,右将mysql中的老数据查询到了redis中。

3.延迟双删:先将redis中的数据进行删除,如果查询数据时,将mysql中的数据又存到redis中,如果没有查询,则mysql中的数据进行修改后,再将数据存放在redis中。

redis事务

是为了保证一组命令作为整体来连续执行,其他客户端不会打断执行。

Multi:开启事务

Exec:执行事务

    java代码实现事务控制
    redisTemplate.multi();//开启redis事务
         //命令1
  
         //命令2
 
         //命令3
    redisTemplate.exec();//提交redis事务 

主从复制(Redis集群)

将一台 Redis 服务器的数据,复制到其他的 Redis 服务器前者称为主节点(master),后者称为从节点(slave),数据的复制是单向的,只能由主节点到从节点。实现数据的备份,即使其中一台机器宕机,其他机器还可以正常运行,保证数据的完整。
写入命令都直接发送到主机执行,主机将数据会自动备份到从机,实现读写分离,分担redis服务的压力。

哨兵模式

在redis的集群中可以配置哨兵(进程),
   哨兵定期会给每个redis服务发送命令,如果能接收到响应,说明redis服务正常
   否则redis服务故障,
   重点是监测主机,一旦主机宕机,哨兵机制会从从机中选举一个作为主机。

key过期策略

时间到了,到底是key用不了了还是直接删除

1.惰性删除:当过期后,标记为过期的状态,当下次使用时,进行删除

2.定期删除:在定时的时间,进行扫描过期的key,然后删除

缓存穿透、击穿、雪崩

1.缓存穿透:缓存中没有,在mysql中也没有

解决方式:(id= -1)在Redis中设置key,值为null

2.缓存击穿:数据在数据库中存在,某个热点的key(秒杀、抢购)但是在Redis中过期了,此时有大量请求,查询mysql

解决方式

1.热点key设置过期时间加长(避免在访问量大的时候过期)

2.在mysql查询时加锁:查一次,将结果存在Redis中,就不用在mysql中查询 了。

3.缓存雪崩:访问量很大,大量key失效

解决方式

1.随机设置key失效时间

2.集群

3.不设置失效时间

3. 定时任务,在缓存失效前刷进缓存

http://www.hkea.cn/news/453698/

相关文章:

  • 做网站私活长沙网络营销公司
  • 网站建设公司 广告法被处罚沧州网络推广外包公司
  • 电商网站 开发成本惠州seo外包服务
  • 佛山做网站建设价格百度网盘官方下载
  • 网上购物商城网站建设个人免费域名注册网站
  • 成都学网站建设电子营销主要做什么
  • 织梦cms通用蓝白简介大气企业网站环保科技公司源码网络推广员招聘
  • 网站后台怎么添加图片视频app推广
  • 网站秒收录怎么做的经典软文案例和扶贫农产品软文
  • 珠海疫情最新情况厦门搜索引擎优化
  • 中国菲律宾历史战绩网站关键词优化工具
  • 西宁网站建设最好的公司哪家好优秀网站设计案例
  • 沧州做网站费用搜索引擎优化是做什么的
  • 社区网站推广方案线上运营的5个步骤
  • 湘潭学校网站建设 z磐石网络网站关键词优化教程
  • wordpress多程序用户同步汕头seo排名
  • 旅游网站 建设平台分析百度seo一本通
  • 怎么用dw做网站app开发网站
  • 昆山做网站的公司有哪些seo整站优化推广
  • 网站建设谈单情景对话青岛seo百科
  • 网站做自适应好不好网页分析报告案例
  • 大连手机自适应网站建设公司seo诊断站长
  • 有哪些好的网站十大电商代运营公司
  • 个人网页设计欣赏网站整站优化快速排名
  • 多少钱立案seo 公司
  • 医学类的网站做Google百度怎么优化排名
  • 手机网站怎样做枸橼酸西地那非片的功效与作用
  • 邯郸做wap网站的公司六六seo基础运营第三讲
  • 六安市建设银行网站seo编辑的工作内容
  • seo外包平台福州百度快照优化