文档章节

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

周云台
 周云台
发布于 2018/04/08 14:07
字数 946
阅读 49
收藏 6

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
<?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"

这样就配置完成了。

注意: 注: 如果是在集群架构中,需要使用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 <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主从搭建完毕!

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为只读数据库!

© 著作权归作者所有

周云台
粉丝 7
博文 75
码字总数 87978
作品 0
惠州
运维
私信 提问
redis慢查询日志,php安装redis扩展,redis存储session,redis主从配置

笔记内容:redis慢查询日志,php安装redis扩展,redis存储session,redis主从配置笔记日期:2018-1-03 21.18 redis慢查询日志 21.19 php安装redis扩展 21.20 redis存储session 21.21 redis主...

ZeroOne01
2018/01/03
0
0
redis安装、持久化、数据类型、常用操作、操作键值、安全设置、慢查询日志、存储session、主从配置、集群介绍、集群搭建配置、集群操作,php安装redis扩展

21.9 redis介绍 21.10 redis安装 21.11 redis持久化 21.12 redis数据类型 21.13/21.14/21.15 redis常用操作 21.16 redis操作键值 21.17 redis安全设置 21.18 redis慢查询日志 21.19 php安装r...

tobej
2019/07/12
79
0
linux复盘:redis主从配置等

redis安全设置 近些年redis很火黑客也很多,常见的redis被黑案例: Redis 服务启动了,但是监听了一个全网IP,如果6379默认端口没有更改,并且iptables也处于关闭,公网IP 也开放着,Redis也...

历经35天的选择
2018/02/13
41
0
SegmentFault 技术周刊 Vol.37 - 分布式缓存利器:Redis

Redis 是由意大利程序员 Salvatore Sanfilippo(昵称:antirez)开发的一款内存高速缓存数据库。Redis 全称为 Remote Dictionary Server(远程数据服务),使用 C 语言编写,是一个 key-valu...

keke
2017/11/16
0
0
PHP中使用Redis接管文件存储Session详解

前言 php默认使用文件存储session,如果并发量大,效率会非常低。而redis对高并发的支持非常好,可以利用redis替换文件来存储session。 最近就遇到了这个问题,之前找了网上的一套直播系统给...

开元中国2015
2018/12/04
69
0

没有更多内容

加载失败,请刷新页面

加载更多

Numpy处理图片方法

在进行图像领域的深度学习的时候经常需要对图片进行处理,包括图像的翻转,压缩,截取等,一般都是用Numpy来处理。处理起来也很方便。 In[3] # 导入需要的包 import numpy as np import matp...

北方的郎
12分钟前
7
0
AMD集中擢升高管:从Intel挖了个高手

  1 月 17 日,AMD 官方宣布多项人事升迁、新人任命,擢升了四位高级副总裁:   AMD 同时还宣布, 聘请行业资深人士 Daniel McNamara 出任高级副总裁兼服务器业务部总经理,负责在第二代...

水果黄瓜
17分钟前
4
0
什么是泛型?

一、泛型的概念 泛型是 Java SE5 出现的新特性,泛型的本质是类型参数化或参数化类型,在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型。 二、泛型的意义 一般的...

hncboy
51分钟前
7
0
dynamic-connectivity 动态连通性问题之 quick-union 算法

quick-union 的思想是:若对象 p 的 root_id 和对象 q 的 root_id 相等,则认为 p 和 q 连通。 若要将对象 p 和对象 q 连通(已知两对象未连通),则将 p 的 root_id 的值设为 q 的 root_id ...

Phpythoner_Alei
今天
51
0
OSChina 周六乱弹 —— 实在选不出来就唱国歌

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @花间小酌 :#今日歌曲推荐# 分享阿冗的单曲《你的答案》。--祝大家在2020年都找到自己答案。 《你的答案》- 阿冗 手机党少年们想听歌,请使劲...

小小编辑
今天
222
6

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部