乐趣区

redis笔记2

redis 的一些安全设置
设置监听 IP,设置监听内网 ip,不设置默认监听全网 IP(危险)
bind 127.0.0.1

更改默认监听端口, 修改为其他端口
port 6379 改为 port 23303

设置密码,redis 开启密码认证默认密码是 foobared,修改为自己想用的密码即可。
requirepass foobared

将 config 命令改名,编辑 redis.conf,添加配置
rename-command CONFIG mori_config
也可以禁用 config 命令
rename-command CONFIG “”

慢查询日志
redis 中针对慢查询日志,可以设置两个参数。

一个是执行时长 slowlog-log-slower-than 10000,单位是微秒,即查询命令所耗时间超过 10000 微秒就会被记录
另外一个是慢查询日志的长度 `slowlog-max-len 128`。当一个新的命令被写入日志时,最老的一条命令日志会从队列中被移除。比如慢查询日志长度 128,即可以记录 128 条慢查询日志,当第 129 条慢查询日志出现时,第一条慢查询日志就会被移除。

慢查询日志是保存在内存中的,读写速度非常快。除了在 redis.conf 进行修改外还可以使用 config 命令修改。
CONFIG SET slowlog-log-slower-than 10000
CONFIG SET slowlog-max-len 1000

redis-cli 中查询慢查询日志记录命令
slowlog get # 查询所有慢查询日志记录
slowlog get 1 # 查看 1 条慢查询日志
slowlog get 2 # 查看 2 条

php 安装 redis 扩展模块
环境:php-fpm 的安装路径 /usr/local/php-fpm
第一种方法 /usr/local/php-fpm/bin/prcl install redis
[root@moli_linux1 bin]# /usr/local/php-fpm/bin/pecl install redis
WARNING: channel “pecl.php.net” has updated its protocols, use “pecl channel-update pecl.php.net” to update
downloading redis-4.3.0.tgz …
Starting to download redis-4.3.0.tgz (241,883 bytes)
…………………………………………..done: 241,883 bytes
25 source files, building
running: phpize
Configuring for:
PHP Api Version: 20160303
Zend Module Api No: 20160303
Zend Extension Api No: 320160303
enable igbinary serializer support? [no] : no # 保持默认敲 no 即可
enable lzf compression support? [no] : no
安装成功的提示:
Build process completed successfully
Installing ‘/usr/local/php-fpm/lib/php/extensions/no-debug-non-zts-20160303/redis.so’
install ok: channel://pecl.php.net/redis-4.3.0
configuration option “php_ini” is not set to php.ini location
You should add “extension=redis.so” to php.ini

修改 php.ini 配置文件,添加 redis 配置
vim /usr/local/php-fpm/etc/php.ini
# 下面添加内容
extension=redis.so
重启 php-fpm 服务,检查是否加载了 redis 模块。
[root@moli_linux1 bin]$ /usr/local/php-fpm/bin/php -m | grep redis
redis

第二种方法源码编译安装
cd /usr/local/src
wget http://pecl.php.net/get/redis-4.3.0.tgz
tar -zxvf redis-4.3.0.tgz
cd redis-4.3.0
/usr/local/php-fpm/bin/phpize
./configure –with-php-config=/usr/local/php-fpm/bin/php-config
make
make install

然后编辑配置文件 php.ini,增加 extension=redis.so,再重启 php-fpm 服务即可。
php 中使用 redis 存储会话 session 编辑 php.ini,修改或者添加下面配置:
vim /usr/local/php-fpm/etc/php.ini
# 配置如下
session.save_handler = “redis”
session.save_path = “tcp://127.0.0.1:6379”

或者在 php-fpm 配置文件对应的 pool 中添加配置:
php_value[session.save_handler] = redis
php_value[session.save_path] = “tcp://127.0.0.1:6379”

创建测试文件:

vim session.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();
?>
执行 php 文件,生成两个会话
[root@moli_linux1 html]$ /usr/local/php-fpm/bin/php session.php
1554530024<br><br>1554530024<br><br>0mkg95st49po1q1bthupd4d56r
[root@moli_linux1 html]$ /usr/local/php-fpm/bin/php session.php
1554530026<br><br>1554530026<br><br>m80hiqb8j56l3lhlur4o8o77r3

打开 redis-cli,看是否有存储会话,有则表示配置成功。
[root@moli_linux1 html]$ redis-cli
127.0.0.1:6379> keys *
1) “k4”
2) “k1”
3) “k2”
4) “k5”
5) “PHPREDIS_SESSION:0mkg95st49po1q1bthupd4d56r”
6) “k3”
7) “PHPREDIS_SESSION:m80hiqb8j56l3lhlur4o8o77r3”

退出移动版