php redis 主从配置,Redis 之 (3) 慢查询日志、存储session、主从配置、php安装redis扩展...

本文介绍了Redis的慢查询日志设置,包括执行时长和日志长度,并展示了如何列出和查看慢查询日志。接着,讲解了在PHP中安装和配置Redis扩展来存储session的方法,包括在php.ini中配置以及通过pool文件设置。最后,详细阐述了Redis主从配置的过程,包括修改配置文件、启动从节点,并验证了数据同步。
摘要由CSDN通过智能技术生成

16. redis慢查询日志

针对慢查询日志可以设置两个参数,一个是执行时长,单位是微妙,另一个是慢查询日志的长度。当一个新的命令被写入日志时,最老的一条会从命令日志队列被移除。

[root@yt-01 ~]# vim /etc/redis.conf

slowlog-log-slower-than 10000

#单位:微秒

slowlog-max-len 128

#定义日志长度,表示最多存128条

列出所有慢查询日志:

[root@yt-01 ~]# redis-cli

127.0.0.1:6379> slowlog get

(empty list or set)

列出两条慢查询日志:

127.0.0.1:6379> slowlog get 2

(empty list or set)

查看慢查询日志条数:

127.0.0.1:6379> slowlog len

(integer) 0

17. php安装redis扩展,redis存储php的session

PHP和Redis通过模块相结合,使用前先查看PHP是否有Redis模块,如果没有,按如下方式安装并配置。

1 安装php-redis扩展模块

[root@yt-01 src]# wget https://coding.net/u/aminglinux/p/yuanke_centos7/git/raw/master/21NOSQL/phpredis.zip

[root@yt-01 src]# unzip phpredis.zip

[root@yt-01 src]# cd phpredis-develop/

[root@yt-01 phpredis-develop]# /usr/local/php/bin/phpize

[root@yt-01 phpredis-develop]# ./configure --with-php-config=/usr/local/php/bin/php-config

[root@yt-01 phpredis-develop]# make && make install

增加如下配置:

[root@yt-01 phpredis-develop]# vim /usr/local/php/etc/php.ini

extension=redis.so

[root@yt-01 phpredis-develop]# /usr/local/php/bin/php -m

redis

2 Redis和PHP连接

方法1:编辑php.ini

[root@yt-01 www]# vim /usr/local/php/etc/php.ini

session.save_handler = redis

session.save_path = "tcp://127.0.0.1:6379"

方法2:编辑pool文件:

[root@yt-01 ~]# vim /usr/local/php-fpm/etc/php-fpm.d/www.conf

php_value[session.save_handler] = redis

php_value[session.save_path] = "tcp://127.0.0.1:6379"

3 测试

[root@yt-01 www]# pwd

/data/wwwroot/111.com

[root@yt-01 www]# ls

index.php

#1.php为测试文件

[root@yt-01 www]# vim 1.php

session_start();

if (!isset($_SESSION['TEST'])) {

$_SESSION['TEST'] = time();

}

$_SESSION['TEST3'] = time();

print $_SESSION['TEST'];

print "
";

print $_SESSION['TEST3'];

print "
";

print session_id();

?>

[root@yt-01 www]# curl localhost/1.php

1523162689
1523162689
0fp6g1hi1q6ktdoogfplvlpo91

[root@yt-01 www]# redis-cli

127.0.0.1:6379> keys *

10) "PHPREDIS_SESSION:6rtu66hia6rjq9rpadstnsqb61"

11) "PHPREDIS_SESSION:hdi4f5r122gg1n9sj5lllbqf42"

12) "PHPREDIS_SESSION:8tf4q887ti8m11sknl5oto82m4"

13) "PHPREDIS_SESSION:hc1h18jtkrvk3secno4nmk7km2"

这样就配置完成了。

注意: 注: 如果是在集群架构中,需要使用predis扩展模块,扩展地址 https://github.com/nrk/predis 。

18. redis主从配置

为了节省资源,本实验在一台机器进行。即,在一台机器上启动两个端口,模拟两台机器。

1 redis主从搭建

准备

还是之前的yt-01主机,环境是LAMP+redis

复制redis配置文件

[root@adailinux ~]# cp /etc/redis.conf /etc/redis2.conf

配置redis从的配置文件

[root@adailinux ~]# vim /etc/redis2.conf //需要修改port,dir,pidfile,logfile

port 6380 //因为是同一台服务器,2个进程,所以需要换一个端口

pidfile /var/run/redis_6380.pid

logfile "/tmp/logs/redis2.log"

dir /data/redis2

# slaveof

slaveof 127.0.0.1 6379 //添加这一行

###指定主服务器IP和端口

# masterauth passwd123

###如果主服务器设定了密码,需要在从服务器上添加该参数

创建redis从的库文件夹

[root@adailinux ~]# mkdir /data/redis2

启动Redis

[root@adailinux ~]# redis-server /etc/redis.conf

[root@adailinux ~]# redis-server /etc/redis2.conf

[root@adailinux ~]# ps aux |grep redis

root 2454 0.2 0.4 145244 2356 ? Ssl 17:18 0:00 redis-server 127.0.0.1:6379

root 2459 0.3 0.4 145244 2332 ? Ssl 17:19 0:00 redis-server 127.0.0.1:6380

[root@adailinux ~]# netstat -lntp |grep redis

tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 2454/redis-server 1

tcp 0 0 127.0.0.1:6380 0.0.0.0:* LISTEN 2459/redis-server 1

启动成功,redis主从搭建完毕!

2 查看slave上的数据

[root@adailinux ~]# redis-cli -p 6380

127.0.0.1:6380> keys *

1) "list1"

2) "hseta"

3) "set1"

4) "set3"

5) "key2"

6) "k1"

7) "set4"

8) "seta"

9) "k2"

10) "k3"

11) "zseta"

12) "setb"

13) "hash1"

14) "set5"

15) "list2"

16) "mykey"

3 测试主从

在master上创建数据:

[root@adailinux ~]# redis-cli -p 6379

127.0.0.1:6379> del key

(integer) 1

127.0.0.1:6379> select 1

OK

127.0.0.1:6379[1]> set test 00001

OK

在slave上查看:

[root@adailinux ~]# redis-cli -p 6380

127.0.0.1:6380> select 1

127.0.0.1:6380[1]> keys *

1) "test"

127.0.0.1:6380[1]> get test

"00001"

注意: Redis主从和mysql主从不一样,Redis主从不用事先同步数据,它会自动同步。因为master上设置有参数“slave-read-only yes”,即该slave为只读数据库!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值