https://blog.csdn.net/sinat_29699167/article/details/79699200 Django使用Redis进行缓存详细最全流程
https://blog.csdn.net/Lord_Arnold/article/details/77151814 Django之django-redis对数据进行简单缓存
https://www.cnblogs.com/bingshu/p/8490737.html Linux(ubuntu)安装redis集群,redis集群搭建
https://blog.csdn.net/LZJLZJLZJLZJLZJLZJ/article/details/52865149 redis配置读写分离以及利用哨兵sentinel进行自动主从切换
各版本下载
https://github.com/ServiceStack/redis-windows
#主服务器用的端口为默认端口6379, copy redis安装文件3个,分别为命名为mater,slave1,slave2 进入每个文件夹,修改redis-conf文件
所有复制的文件和文件夹,注意查看权限,redis-conf的权限特别需要注意
主服务器用的端口为默认端口6000, 两个从服务器的端口分别为6001和6002 1 master 配置修改端口 port 6000 requirepass 123456 2 slave l 修改配置: port 6001 slaveof 127.0.0.1 6000 masterauth 123456 requirepass 123456 3 slave 2 修改配置: port 6002 slaveof 127.0.0.1 6000 masterauth 123456 requirepass 123456
(requirepass是认证密码,因为之后要作主从切换,所以建议所有密码都一致, masterauth是从机对主机时所需的密码,即主机的requirepass) 4 启动主机 redis-server redis.conf 5 启动从机 redis-server redis1.conf 6 启动从机 redis-server redis2.conf
启动之后使用:ps -ef|grep redis 来查看问题的所在
接下来需要考虑的是主机redis挂了之后,从机中自动推选出一台为主机,然后挂掉的主机重启后自动成为从机 ;三个哨兵(sentinel)的端口分别为26000、26001和26002.
redis的主从复制 :读写分离
1 准备三个redis服务,依次命名文件夹为master ,slavel ,slave2
2 修改配置文件(redis-conf)
master配置修改端口:
port 6000
masterauth 12345
requirepass 123456
slavel1 修改配置
port 6001
slaveof 127.0.0.1 6000
masterauth 123456
requirepass 123456
slave2 修改配置
port 6002
slaveof 127.0.0.1 6000
masterauth 123456
requirepass 123456
(requirepass是认证密码,因为之后要作主从切换,所以建议所有密码都一致,masterauth是从机对主机验证时所需的密码,即主机的require pass)
3
启动主机 redis-server redis.conf
启动从机 redis-server redis1.conf
redis-server redis2.conf
输入ps -ef|grep redis 查看
4 验证主从复制
master:redis-cli -p 6000
auth 123456
set key value
slavel: redis-cli p 6001
auth 123456
get key
slave2:redis-cli -p 6002
auth 123456
get key
5 万一主机挂了怎么办?
redis提供了一个sentinel(哨兵)
实现主从切换功能
查看主从状态 --> info replication
断开主从连接 --> slaveof no one
1 配置3个sentinel进程
vi sentinel-conf
port 26385 (需要配置)
daemonize yes
sentinel monitor mymaster 127.0.0.1 6384 2 (需要配置)【数字2指当前有两个及以上的sentinel服务检测到master宕机,才会执行主从切换的功能】
sentinel auth-pass mymaster 123456 (需要配置)
启动哨兵服务(到对应的目录执行相应的命令):
redis-server sentinel.conf --sentinel
查看日志:redis-sentinel
杀死主进程:
ps -ef | grep redis
kill -9 6960
master切换了,当6000端口的这个服务重启时,会变成6001,端口服务名slave
成为sentinel在切换master时,把对应的sentinel,conf和redis.conf文件配置修改
但 :sentinel服务不是万能,得sentinel集群