3.3缓存_redis

1缓存,作用,高性能和高并发
2常见的缓存问题:
3 redis是单线程工作模型 nio异步模型
    redis的线程模型

文件事件处理器的结构包含4个部分:多个socket,IO多路复用程序,文件事件分派器,事件处理器(命令请求处理器、命令回复处理器、连接应答处理器,等等)。
    2)文件事件
    3)文件事件处理器

连接redis,socket关联连接应答处理器
写redis,socket关联命令请求处理器
读redis,socket关联命令回复处理器
    4为啥redis单线程模型也能效率这么高?

1)纯内存操作
2)核心是基于非阻塞的IO多路复用机制
3)单线程反而避免了多线程的频繁上下文切换问题(百度)


    1.6.12.Reactor模式
4 redis的过期策略都有哪些?
    1定期删除:
    2惰性删除: 
    3内存淘汰
5 如何保证Redis的高并发和高可用
    redis高并发:主从架构,一主多从 
    redis高可用:主从架构部署加上哨兵
    redis集群
6 redis持久化:RDB,AOF
    RDB (Redis DataBase)
        2、RDB持久化机制的优点
        3、RDB持久化机制的缺点
    AOF (Append Only File)
        4、AOF持久化机制的优点
        5、AOF持久化机制的缺点
    总结对比
        6、RDB和AOF到底该如何选择

总结
Redis 默认开启RDB持久化方式,在指定的时间间隔内,执行指定次数的写操作,则将内存中的数据写入到磁盘中。
RDB 持久化适合大规模的数据恢复但它的数据一致性和完整性较差。
Redis 需要手动开启AOF持久化方式,默认是每秒将写操作日志追加到AOF文件中。
AOF 的数据完整性比RDB高,但记录内容多了,会影响数据恢复的效率。
Redis 针对 AOF文件大的问题,提供重写的瘦身机制。
若只打算用Redis 做缓存,可以关闭持久化。
若打算使用Redis 的持久化。建议RDB和AOF都开启。其实RDB更适合做数据的备份,留一后手。AOF出问题了,还有RDB。


7缓存雪崩与穿透 
    缓存雪崩
    缓存穿透的解决方法
8如何保证缓存与数据库的双写一致性?
    1初级双写一致性模式,cache aside pattern
    2数据库与缓存更新与读取操作进行异步串行化
    3采用延时双删策略
    2.12.1.1.3.异步更新缓存(基于订阅binlog的同步机制)


9redis的并发竞争问题该如何解决吗?

当某个系统多实例,同时获取一个key,修改值之后再写回去缓存,只要顺序错了,缓存中数据就错了。

分布式锁1 利用zookeeper获取分布式锁,当一个系统获取锁,其他系统只能等待释放锁。通过锁写入值的时间戳必须比已有数据的时间戳新才能写入.

分布式锁确保同一时间只能有一个系统实例在操作某个key。每次要写之前都先判断一下当前这个value的时间戳是否比缓存里的value的时间戳更新,则可写入

分布式锁2 利用Redis事务实现,使用较少一般用方案一

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值