疫情危机下的5G和下一代网络
8.Redis单例、主从模式、sentinel以及集群的配置方式及优缺点对比 Redis单例、主从模式、sentinel以及集群的配置方式及优缺点对比 9、为什么Redis 单线程却能支撑高并发? 为什么Redis 单线程却能支撑高并发? 10、Redis常见性能问题和解决方案: 1).Master写内存快照,save命令调度rdbSave函数,会阻塞主线程的工作,当快照比较大时对性能影响是非常大的,会间断性暂停服务,所以Master最好不要写内存快照。 2).Master AOF持久化,如果不重写AOF文件,这个持久化方式对性能的影响是最小的,但是AOF文件会不断增大,AOF文件过大会影响Master重启的恢复速度。Master最好不要做任何持久化工作,包括内存快照和AOF日志文件,特别是不要启用内存快照做持久化,如果数据比较关键,某个Slave开启AOF备份数据,策略为每秒同步一次。 3).Master调用BGREWRITEAOF重写AOF文件,AOF在重写的时候会占大量的CPU和内存资源,导致服务load过高,出现短暂服务暂停现象。 4).Redis主从复制的性能问题,为了主从复制的速度和连接的稳定性,Slave和Master最好在同一个局域网内 Redis性能分析相关问题,限于篇幅,给出文章链接:
Redis 性能问题分析(好文推荐) 缺点:
高可用Redis架构分析搭建,可以参考: 高可用Redis服务架构分析与搭建 4、使用过Redis分布式锁么,它是怎么实现的? 先拿setnx来争抢锁,抢到之后,再用expire给锁加一个过期时间防止锁忘记了释放。 如果在setnx之后执行expire之前进程意外crash或者要重启维护了,那会怎么样? set指令有非常复杂的参数,这个应该是可以同时把setnx和expire合成一条指令来用的! 5、使用过Redis做异步队列么,你是怎么用的?有什么缺点? 一般使用list结构作为队列,rpush生产消息,lpop消费消息。当lpop没有消息的时候,要适当sleep一会再重试。 缺点:
能不能生产一次消费多次呢? 使用pub/sub主题订阅者模式,可以实现1:N的消息队列。 6、什么是缓存穿透?如何避免?什么是缓存雪崩?何如避免? 缓存穿透 一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去后端系统查找(比如DB)。一些恶意的请求会故意查询不存在的key,请求量很大,就会对后端系统造成很大的压力。这就叫做缓存穿透。 如何避免?
缓存雪崩 当缓存服务器重启或者大量缓存集中在某一个时间段失效,这样在失效的时候,会给后端系统带来很大压力。导致系统崩溃。 如何避免?
这道相当常见,详细再参考下文,一定熟练掌握: Redis缓存雪崩、缓存击穿、缓存穿透和常见的几种缓存模式 7、Redis常用命令
管理命令 (编辑:鹤壁站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |