redis常用架构(想起啥就添加有点乱....哈哈)
1.Redis常见问题:
最大内存问题:要设置好最大内存,以防不停的申请内存,造成系统内存都被用完。
Fork进程问题:'vm.overcommit_memory = 1'这一个选项要加到系统的配置中,防止fork因内存不足而失败。
密码问题:需要设置复杂一些,防止暴力破解。
2.关于主从+哨兵:
设置密码(必须一致)配置主从需要修改配置文件 masterauth 主机密码
最好从服务器设只读,防止写于数据被主同步没
哨兵的作用就是监控Redis系统的运行状况。它的功能包括以下两个:
所以整个运行哨兵的集群的数量不得少于3个节点
监控主数据库和从数据库是否正常运行。
主数据库出现故障时自动将从数据库转换为主数据库。
sentinel发现master挂了后,就会从slave中重新选举一个master。
哨兵模式强调高可用
3.关于集群模式:
即使使用哨兵,redis每个实例也是全量存储,每个redis存储的内容都是完整的数据,浪费内存且有木桶效应。为了最大化利用内存,可以采用集群,就是分布式存储。即每台redis存储不同的内容,共有16384个slot。每个redis分得一些slot,hash_slot = crc16(key) mod 16384 找到对应slot,键是可用键,如果有{}则取{}内的作为可用键,否则整个键是可用键
集群至少需要3主3从,且每个实例使用不同的配置文件,主从不用配置,集群会自己选。
cluster是为了解决单机Redis容量有限的问题,将数据按一定的规则分配到多台机器。
集群模式提高并发量。
集群不能用的情况:
有半数或者半数以上的主库机器挂掉,集群就不能用了
把一个从库升级成主,没有从库,集群不能用(前提是:有半数或者半数以上的主库机器挂掉)
一个主库挂掉,它的从库自动顶替为主库,正常使用(前提是:有半数或者半数以上的主库机器能用),挂掉的主库修复好后,会成为从库,不会抢占为主
记录工作中的一下问题

浙公网安备 33010602011771号