redis配置

主从配置篇

上次从朋友那里弄完了整个redis安装及使用,但是想到如果数据量很大,redis效率降低怎么办,想到了redis集群,自己在网上百度了个帖子开始整起来

工具准备:电脑(必须的),虚拟机(如果你是linux系统不需要了)

首先安装完成你的redis,上个笔记已经记录过了

在redis文件夹下建立你的文件夹(英文名字)

我建立的是redis-cluster  命令为:mkdir redis-cluster

进入新建的文件夹创建几个新的文件夹,准备开启多个redis,新的文件夹以端口号命名(方便查找)

比如我的是 9001 -9003  方法还是  mkdir 9001/9002/9003


用cp 命令cp redis-server  和 redis.conf      命令为   cp ../redis.conf  9001 cp ../src redis-server   9001 (因为我在redis-cluster文件夹下所以命令是这样的)


给3个文件件全部cp  一份之后记得改端口,(方法见redis安装)启动每个redis  并测试是否OK

启动方法redis-server --port9001--daemonize yes

redis-server --port9002--daemonize yes --slave-read-only no

redis-server --port9003--daemonize yes --slave-read-only no

daemonize yes表示以守护进程的方式启动,slave-read-only no表示关闭slave只读方式,否则在Master上增加值的时候,会报错误

127.0.0.1:9001>setfoo value

127.0.0.1:9001> You can'twriteagainstareadonly slave

启动三个终端

redis-cli -p9001/9002/9003

指定9001 为master

127.0.0.1:9002>SLAVEOF127.0.0.19001

OK

127.0.0.1:9002>

指定时需要在改终端中输入命令,依次在9003 中指定master为9001

启动终端测试(不贴图了)

到这里主从复制就已经实现了,是不是很简单呀,下面大概介绍一下原理

master 接到指令后,开始启动后台保存进程保存数据,接着收集所有的数据修改指令。后台保存完了,master 就把这份数据发送给 slave,slave 先把数据保存到磁盘,然后把它加载到内存中,master 接着就把收集的数据修改指令一行一行的发给 slave,slave 接收到之后重新执行该指令,这样就实现了数据同步。

slave 在与 master 失去联系后,自动的重新连接。如果 master 收到了多个 slave 的同步请求,它会执行单个后台保存来为所有的 slave 服务

你可能感兴趣的:(redis配置)