欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

redis 主从模式

程序员文章站 2022-05-17 22:41:24
...

mysql为了降低每个服务器负载,可以设置读写分类(有写服务器、有读取服务器),一个服务器负载“写”(添加、修改、删除)数据,其他服务器负载“读”数据主服务器数据会“自动”同步给从服务器

redis 主从模式

准备:

1、有两台redis服务器(安装了redis服务的主机):本地和远程服务器
2、本地安装了php集成环境(phpstudy)并安装了redis扩展

开始配置

将本地服务器作为其他服务器的从服务器

<?php
 $redis = new Redis ();//获取redis实例
 $redis->connect('127.0.0.1',6379);//链接本地redis服务器
 $redis->slaveof('192.***',6379);//将本地redis服务器作为192.***的从服务器

查看本地redis服务器信息

<?php
 $redis = new Redis ();//获取redis实例
 $redis->connect('127.0.0.1',6379);//链接本地redis服务器
 var_dump($redis->info());//查看本地redis服务器信息

redis 主从模式

查看远程redis主服务器信息

<?php
 $redis = new Redis ();//获取redis实例
 $redis->connect('192.168.1.103',6379);//链接远程redis主服务器
 var_dump($redis->info());//查看远程redis主服务器信息

redis 主从模式

测试数据是否实现同步

在主服务器设置数据
<?php
 $redis = new Redis ();//获取redis实例
 $redis->connect('192.***',6379);//链接远程redis主服务器
 var_dump($redis->set('name','master'));//在主服务器中写入数据

redis 主从模式

在从服务器获取数据
<?php
 $redis = new Redis ();//获取redis实例
 $redis->connect('127.0.0.1',6379);//连接本地从服务器
 var_dump($redis->get('name'));//在本地从服务器中写入数据

redis 主从模式

主服务器的数据可正常同步到从服务器

phpredis扩展对服务器的相关操作

/**
 * 服务
 * Server
 */
$redis->dbSize();  //返回当前库中的key的个数
$redis->flushAll();  //清空整个redis[总true]
$redis->flushDB();  //清空当前redis库[总true]
$redis->save();  //同步??把数据存储到磁盘-dump.rdb[true]
$redis->bgsave();  //异步??把数据存储到磁盘-dump.rdb[true]
$redis->info();  //查询当前redis的状态 [verson:2.4.5....]
$redis->lastSave();  //上次存储时间key的时间[timestamp]
$redis->slaveof('127.0.0.1',80); //配置127.0.0.1端口80的服务器为从服务器
$redis->slaveof(); //清除从服务器
$redis->watch('key', 'keyn');  //监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断 [true]
$redis->unwatch('key', 'keyn');  //取消监视一个(或多个) key [true]
$redis->multi(Redis::MULTI);  //开启事务,事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由 EXEC 命令在一个原子时间内执行。
$redis->multi(Redis::PIPELINE);  //开启管道,事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由 EXEC 命令在一个原子时间内执行。
$redis->exec();  //执行所有事务块内的命令,;【事务块内所有命令的返回值,按命令执行的先后顺序排列,当操