针对慢查询日志能够设置两个参数,一个是执行时长,单位是微妙,另外一个是慢查询日志的长度。当一个新的命令被写入日志时,最老的一条会从命令日志队列被移除。php
[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
PHP和Redis经过模块相结合,使用前先查看PHP是否有Redis模块,若是没有,按以下方式安装并配置。mysql
[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
方法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"
[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 <?php session_start(); if (!isset($_SESSION['TEST'])) { $_SESSION['TEST'] = time(); } $_SESSION['TEST3'] = time(); print $_SESSION['TEST']; print "<br><br>"; print $_SESSION['TEST3']; print "<br><br>"; print session_id(); ?> [root@yt-01 www]# curl localhost/1.php 1523162689<br><br>1523162689<br><br>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"
这样就配置完成了。linux
注意: 注: 若是是在集群架构中,须要使用predis扩展模块,扩展地址 https://github.com/nrk/predis 。git
为了节省资源,本实验在一台机器进行。即,在一台机器上启动两个端口,模拟两台机器。github
准备 仍是以前的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 <masterip> <masterport> 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主从搭建完毕!
[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"
在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为只读数据库!redis