LAMP+Redis系列

1.1.1LAMP+Redis工作机制

LAMP+Redis工作机制:用户通过浏览器访问LAMP网站,并以用户名和密码登录到网站,默认Redis缓存中没有该用户名和密码对应列表,PHP程序会读取MYSQL数据库中的用户名和密码,然后将用户名和密码缓存至Redis中,下次用户通过浏览器再次使用同样的用户名和密码登录网站,PHP无需从数据库中读取该用户和密码信息,而是直接优先从Redis缓存中读取并返回,从而减轻MYSQL数据库的压力。

Redis除了可以缓存用户名、密码,还可以换成PHP论坛各种数据,例如用户帖子、用户动态等等,如图12-8所示:

图12-8 LAMP+Redis架构流程图

要实现将LAMP PHP网站相关数据存入Redis,需要一台Redis服务器、PHP-redis连接驱动、PHP代码连接修改等。

1.1.2LAMP+Redis操作案例

LAMP PHP连接Redis,首先需安装Redis服务器,安装连接驱动,然后修改PHP网站配置文件,具体操作步骤如下:

(1) LAMP+Redis实战环境配置

(2) 192.168.149.129服务器安装部署Redis服务,代码如下

将/usr/local/redis/bin/目录加入至环境变量配置文件/etc/profile末尾,然后Shell终端执行source /etc/profile让环境变量生效。

Nohup后台启动及停止Redis服务命令:

(3)安装PHP-Redis连接驱动

要确保PHP能够连接Redis缓存服务器,需添加PHP Redis扩展程序,也即是添加PHP安ext扩展模块,添加方法如下:

修改vim /usr/local/php5/lib/php.ini配置文件,添加redis.so模块,代码如下:

重启Apache服务,写入phpinfo测试页面,通过浏览器访问,如图12-9所示,检查到存在Redis模块即可:

图12-9 PHP Redis模块添加

(4) LAMP+Redis缓存测试

登录192.168.149.128 WEB服务器,修改Discuz PHP网站发布/usr/local/apache2/htdcos目录全局配置文件config_global.php,查找CONFIG MEMORY段,将redis server后改为Redis主服务器的IP 192.168.149.129即可,如图12-10所示:

图12-10 PHP Redis配置文件修改

通过浏览器访问Apache PHP论坛网站,同时登陆Redis服务器,执行命令redis-cli进入Redis命令行,运行命令KEYS *,如图12-11所示,存在以IOKLAN开头的key,则证明Redis成功缓存LAMP+Discuz网站信息数据。

图12-11 Redis缓存LAMP KEYS数据

(1)测试Redis缓存是否生效

访问LAMP+Discuz网站,创建论坛测试用户jfedu666,密码jfedu666,此时用户数据第一次注册,用户名和密码会写入到MySQL数据库表中,同时会写入该数据也会写入到Redis缓存,如图12-12(a)、12-12(b)、12-12(c)所示:

图12-12(a) 创建论坛用户和密码

图12-12(b) MySQL数据库用户查询

图12-12(c) Redis缓存测试案例

将jfedu666从MySQL Discuz库pre_common_member中删除,通过该用户依然可以正常登录WEB网站,则证明此时数据读取的是Redis缓存服务器,如图12-13(a)、12-13(b)、12-13(c)所示:

图12-13(a) 删除数据库用户和密码

图12-13(b) 用户名和密码登录discuz论坛

图12-13(c) 用户名和密码登录discuz论坛

Redis配置文件以及命令详解将在下节

做个小调查,如果有其他想法也可在文章下直接留言

另外也希望各位多多转发分享,支持我们,谢谢

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180314A1J1ZB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券