实例项目搭建-redis服务器环境下mysql实现la/nmp架构缓存

目录

1.流程图

2.场景实例搭建

2.1 场景实例搭建步骤

2.1.1 PHP安装:(web服务器安装)

2.1.2 安装php的redis扩展(web服务器安装)

2.1.3 vim修改/etc/php.ini,添加redis的扩展

2.1.4 重启web(http)服务器

 2.1.5 在httpd的发布目录下编辑如下php页面,然后访问

2.2.6 安装redis(在redis服务器上操作)

2.2.7 配置文件并启动redis

2.2.8 编写php的测试代码(在web服务器)

2.2.9 配置mysql(在mysql服务器)

2.2.10 测试mysql是否连接(在web服务器)

 2.2.11 在mysql创建测试数据

3. 测试验证


1.流程图

实例项目搭建-redis服务器环境下mysql实现la/nmp架构缓存_第1张图片

2.场景实例搭建

环境规划

ip地址 环境
192.168.150.19 redis
192.168.150.20 web
192.168.150.21 mysql

​​关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

sed -i 's/enforcing/disabled/' /etc/selinux/config

setenforce 0

同步时间

yum -y install ntp ntpdate

ntpdate cn.pool.ntp.org

hwclock --systohc

2.1 场景实例搭建步骤

2.1.1 PHP安装:(web服务器安装)

yum install php php-fpm php-cli php-common php-gd php-mbstring php-mysql php-pdo php-devel php -xmlrpc php-xml php-bcmath php-dba php-enchant -y

2.1.2 安装phpredis扩展(web服务器安装)

wget http://pecl.php.net/get/redis-2.2.7.tgz

tar -zxvf redis-2.2.7.tgz  
cd redis-2.2.7/
phpize
./configure
make install
实例项目搭建-redis服务器环境下mysql实现la/nmp架构缓存_第2张图片
phpize php 进行添加扩展。并且 phpize 编译的扩展库可以随时启用或停用,比较灵活。
编译完成后可以看到安装的目录如下,进入后可以看到编译的模块 redis.so
实例项目搭建-redis服务器环境下mysql实现la/nmp架构缓存_第3张图片

2.1.3 vim修改/etc/php.ini,添加redis的扩展

实例项目搭建-redis服务器环境下mysql实现la/nmp架构缓存_第4张图片

2.1.4 重启web(http)服务器

systemctl restart httpd

 2.1.5 httpd的发布目录下编辑如下php页面,然后访问

[root@192 html]# cat index.php

实例项目搭建-redis服务器环境下mysql实现la/nmp架构缓存_第5张图片

注意:找到redis才算ok

2.2.6 安装redis(在redis服务器上操作)

wget -c -t 0 http://download.redis.io/releases/redis-2.8.19.tar.gz

 tar -xvf redis-2.8.19.tar.gz

 make

2.2.7 配置文件并启动redis

修改redis.confdaemonize no改为yes  

 启动redis

src/redis-server redis.conf

2.2.8 编写php的测试代码(在web服务器)

vim redis.php

connect('192.168.150.19',6379) or die ("could net connect redis server");   ## 这里面ip 是redis服务器ip
#       $query = "select * from testab limit 5";
        $query = "select * from testab"; ##这里改成自己mysql存在的表
for ($key = 1; $key < 10; $key++)
{
        if (!$redis->get($key))
        {
                $connect = mysql_connect('192.168.150.21','redis','Zcf@201104');  ##mysql的ip
                mysql_select_db(testab);  
                $result = mysql_query($query);
                $arr = [];
                while ($row = mysql_fetch_assoc($result))
                {
                        $redis->setex($row['id'],10,$row['name']);
                        $arr[] = $row;
                }
                $myserver = 'mysql';
                $data = $arr;
                break;
        }
        else
        {
                $myserver = "redis";
                $data[$key] = $redis->get($key);
        }
}
echo $myserver;
echo "
"; for ($key = 1; $key < 10; $key++) { echo "number is $key"; echo "
"; if ($myserver == "mysql") { $arr2 = array_map('end',$data); echo "name is $arr2[$key]"; echo "
"; } else { echo "name is $data[$key]"; echo "
"; } }

2.2.9 配置mysql(在mysql服务器)

在mysql服务器创建用户redis

create user 'redis'@'%' indentified by 'Zcf@201104'

alter user 'redis'@'%' indentified with mysql_native_password by 'Zcf@201104' 

flush privileges

2.2.10 测试mysql是否连接(在web服务器)

vim mysql.php


实例项目搭建-redis服务器环境下mysql实现la/nmp架构缓存_第6张图片

 2.2.11 在mysql创建测试数据


mysql> select * from testab;
+------+------+
| id   | name |
+------+------+
|    1 | tom  |
|    2 | tom1 |
|    3 | tom2 |
|    4 | tom3 |
|    5 | tom4 |
|    6 | tom5 |
|    7 | tom6 |
|    8 | tom7 |
|    9 | tom8 |
|   10 | tom9 |
+------+------+
10 rows in set (0.00 sec)

3. 测试验证

实例项目搭建-redis服务器环境下mysql实现la/nmp架构缓存_第7张图片

 第一次访问,redis中没有对应的KEY值

实例项目搭建-redis服务器环境下mysql实现la/nmp架构缓存_第8张图片

 刷新,再次访问,此时redis中已有相关数据

你可能感兴趣的:(缓存,redis,mysql)