Redis相关
redis安装教程(在官网下载页面下发):http://www.redis.cn/download.html
Redis安装报错error:jemalloc/jemalloc.h:No such file or directory解决方法
redis配置读写分离以及利用哨兵sentinel进行自动主从切换
实践总结:
redis读写分离在java中需要自己做判断处理才能发挥作用,比如:get方法去请求只读的从服务器,set方法请求可写的主服务器,redis的java驱动或者哨兵服务貌似没有提供这种自动化的读写分离特性。
搭建哨兵集群时的注意事项:
保证所有节点requirepass一致(不要主节点配置了requirepass,从节点不配或者配置了不同的值,这样会导致哨兵故障转移时无法连接到从节点,因为哨兵会使用配置的sentinel auth-pass mymaster去连接主节点)
保证所有节点masterauth一致(不要从节点配置了masterauth,主节点不配,这样会导致主节点故障后重启无法加入从节点,原因是身份未认证)
哨兵会一直监视着(通过ip和端口)redis主从复制集,即使某个节点故障了,当监视到主节点故障时会通知从节点重写配置文件(移除slaveof属性)升级为主节点。当监视到故障的主节点再次重启后会通知此节点重写配置(添加slaveof属性)加入到从节点中。
redis配置文件要和redis版本匹配,不要把一个新版本的配置文件用在较旧版本的redis服务器上,否则启动时有可能会提示配置文件错误,原因是旧版本中识别不了新版本中新增的属性名导致启动redis失败,例如3.0.0以下的版本没有cluster-*系列属性。