数据同步
配置了主从之后, 从服务器会泛起PSYNC<masterId, 事务id>请求<br>主服务器会根据PSYNC请求决定是全量同步还是增量同步<br>初始化同步之后的瞬间数据是完全一致的<br>但是之后主服务器接收到了命令后, 会把命令同步到从服务器, 这里的同步操纵是异步的<br>所以从服务器和主服务器不是完全一致的
集群搭建
redis 3之后不需要使用哨兵模式了,<br> 配置中开启集群模式后, 正常启动所有服务器, 使用命令行即可搭建集群和主从<br><br>
故障恢复
如果只是主服务器宕机, 那么从服务器可以作为主服务器
如果主服务器和从服务器都宕机了, 那么需要手动迁移slot到其他服务器
分布式锁
redis集群导致问题:<br> 由于从服务器的数据落后于主服务器, 当主服务器当即后从服务器成为master后可能导致锁的丢失.<br>解决方案, 没有很好的解决方案,建议是用ZK
穿透/雪崩
大量请求一个一定不会存在redis的key, 造成数据库压力很大.<br>答: 可以设置一个空值到redis
同时有大量redis key失效<br>答: 避免设置相同的过期时间
某个key失效时, 有大量请求到来, 导致数据库压力大<br>答: 可以使用互斥锁, 只让一个线程去请求数据库, 其他线程阻塞