LAMP+Redis主从架构原理
前言
LAMP+Redis工作机制:用户通过浏览器访问LAMP网站,并以用户名和密码登录到网站,默认Redis缓存中没有该用户名和密码对应列表,PHP程序会读取MYSQL数据库中的用户名和密码,然后将用户名和密码缓存至Redis中,下次用户通过浏览器再次使用同样的用户名和密码登录网站,PHP无需从数据库中读取该用户和密码信息,而是直接优先从Redis缓存中读取并返回,从而减轻MYSQL数据库的压力。
Redis的所有的数据都是保存在内存中,然后不定期的通过异步方式保存成快照,再将快照保存到磁盘上(半持久化模式),也可以每一次将数据的变化,写入到一个日志中再保存到磁盘,(全持久化模式)。
要实现将LAMP PHP网站相关数据存入Redis,需要一台Redis服务器、PHP-redis连接驱动、PHP代码连接修改等。
LAMP+Redis操作案例
LAMP PHP连接Redis,首先需安装Redis服务器,安装连接驱动,然后修改PHP网站配置文件,具体操作步骤如下:
(1) LAMP+Redis实战环境配置
LAMP服务器 Centos7.4-1: 10.0.0.4
Redis主库Centos7.4-2: 10.0.0.5
Redis从库Centos7.4-3: 10.0.0.6
(2)LAMP环境的部署
参考我的其他的几个博客,很快就能部署完毕,并发布应用都可以
(3)配置 redis主库
Redis主从配置非常简单,只需要在Redis丛库10.0.0.6配置中设置如下指令,slaveof表示指定主库的IP,10.0.0.5为master服务器,6379为master服务器Redis端口,配置方法如下:
安装方法参考我的redis从入门到入魔
(4)安装PHP-Redis连接驱动
要确保PHP能够连接Redis缓存服务器,需添加PHP Redis扩展程序,也即是添加PHP安ext扩展模块,添加方法如下:
1、下载PHPRedis扩展
http://pecl.php.net/package/redis 具体下载版本以自己的PHP版本信息为准 echo phpinfo(); 查看自己PHP版本等信息和扩展模块 php -m
2、安装PHPRedis扩展
先把自己下载下来的PHPRedis扩展包用FTP工具上传到自己的服务器并解压
wget http://pecl.php.net/get/redis-3.1.2.tgz
tar xzf 3.1.2.tar.gz
/usr/local/php5/bin/phpize #用phpize生成
yum install autoconf -y
Autoconf产生的配置脚本通常叫做configure。configure运行的时候会产生几个文件,这几个文件包含了有合适的值的配置参数。自动生成configure脚本的
cd phpredis-3.1.2/
./configure --with-php-config=/usr/local/php5/bin/php-config
--enable-redis
make
make install
修改 vim /usr/local/php5/lib/php.ini 配置文件,添加 redis.so 模块,代码如下:
extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-zts-20090626"
extension=redis.so
重启 Apache 服务,写入 phpinfo 测试页面,通过浏览器访问,如图 12-9 所示,检查到存在 Redis 模块即可: