redis 优化 mysql

链接:https://pan.baidu.com/s/11jwJeLjDddgG_a0iaZJ6yg 提取码:1m16 (包括启动脚本)

一、实验环境准备

[root@dal ~]#yum -y install gcc*
[root@dal ~]# unzip redis-mysql.zip
[root@dal ~]# cd redis-mysql
[root@dal redis-mysql]# yum -y install *
#安装所需的包

二、配置 nginx 并启动

[root@dal ~]# vim /etc/nginx/nginx.conf 
 include /etc/nginx/conf.d/*.conf;



 server {
     listen       80;
     server_name  localhost; #如果使用域名访问,修改成域名
 
     #charset koi8-r;
     #access_log  /var/log/nginx/log/host.access.log  main;
 
     location / {
         root   /www; #修改网站根目录
         index  index.php index.html index.htm; #添加默认显示index.php
     }
 ……
 #取消注释并修改
  # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
     #
     location ~ \.php$ {
         root           /www; #网站根目录
         fastcgi_pass   127.0.0.1:9000;
         fastcgi_index  index.php;
         fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;
         include        fastcgi_params;
     }

#启动 nginx 
[root@dal ~]# service nginx start

三、配置 php-fpm并启动

[root@dal ~]# vim /etc/php-fpm.d/www.conf 
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
[root@dal ~]# service php-fpm start #启动

四、配置 mysql 并启动

[root@dal ~]# service mysqld start
[root@dal ~]# mysql
mysql> grant all privileges on *.* to root@localhost identified by '123';
#授权登陆mysql时密码时 123
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit

五、测试网站连通姓

[root@dal ~]# mkdir /www
[root@dal ~]# vim /www/index.php
<?php
        phpinfo();
?>

浏览器访问服务器是否显示php页面,如果显示则成功,LNMP环境就搭建完成了

六、安装 Redis 与 phpredis

1.1 安装 redis

[root@dal ~]# cd redis-mysql
[root@dal redis-mysql]# tar  -xf redis-2.8.19.tar.gz -C /usr/src/
[root@dal redis-mysql]# cd /usr/src/redis-2.8.19/
[root@dal redis-2.8.19]# make 
[root@dal redis-2.8.19]# make PREFIX=/usr/local/redis/ install
[root@dal redis-2.8.19]# cp redis.conf /usr/local/redis/
[root@dal redis-2.8.19]# ln -s /usr/local/redis/bin/* /usr/local/b

安装 phpredis

[root@dal redis-2.8.19]# cd /root/redis-mysql
[root@dal redis-mysql]# unzip phpredis-master.zip -d /usr/src/
[root@dal redis-2.8.19]# cd /root/redis-mysql
[root@dal redis-mysql]# cd /usr/src/phpredis-master/
[root@dal phpredis-master]# phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
[root@dal phpredis-master]# ./configure --with-php-config=/usr/bin/php-config
[root@dal phpredis-master]# make && make install

七、让 php 支持 redis

[root@dal phpredis-master]# vim /etc/php.ini 
#在末尾添加
extension=redis.so

浏览器访问查看有没有 redis 模块

在这里插入图片描述

八、进入 MySQL 插入数据

[root@dal ~]# mysql -uroot -p123
mysql> create database mytest;
Query OK, 1 row affected (0.00 sec)

mysql> use mytest;
Database changed
mysql> create table test(id int,name char(10));
Query OK, 0 rows affected (0.00 sec)

mysql> desribe test;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desribe test' at line 1
mysql> describe test;
+-------+----------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| id    | int(11)  | YES  |     | NULL    |       |
| name  | char(10) | YES  |     | NULL    |       |
+-------+----------+------+-----+---------+-------+
2 rows in set (0.00 sec)

mysql> insert into test values (1,'a1'),(2,'a2'),(3,'a2'),(4,'a4'),(5,'a5');
Query OK, 5 rows affected (0.00 sec)
Records: 5  Duplicates: 0  Warnings: 0

mysql> select *from test
    -> ;
+------+------+
| id   | name |
+------+------+
|    1 | a1   |
|    2 | a2   |
|    3 | a2   |
|    4 | a4   |
|    5 | a5   |
+------+------+
5 rows in set (0.00 sec)

mysql> 
mysql> exit

九、编写 reids 脚本

[root@dal ~]# vim /www/index.php 

<?php
      ini_set("display_errors", "On");
      error_reporting(E_ALL | E_STRICT);
      //开启debug 


      // mysql 库: mytest 表:test 
   $redis = new redis();
   $redis->connect('127.0.0.1',6379);
   $query = "select * from test limit 5";
   for ($key=1;$key<=5;$key++)
   {
       if (!$redis->get($key))
 //判断redis中是否有1 2 3 4 5 的键,没有连接数据库查询mytest库的test表,然后插入到redis中
         {
               $connect = mysql_connect('127.0.0.1','root','123');
               mysql_select_db(mytest);
               $result = mysql_query($query);
                          var_dump ($result);
               while ($row = mysql_fetch_assoc($result))
                {
                    $redis->setex($row['id'],30,$row['name']);
				//从MySQL中获取的资源插入到redis中,并设置有效时间为30s
                }
                   $myserver = 'mysql';
                   break;
           }
           else
    //判断redis中是否有1 2 3 4 5 的键,有直接打印redis中的 1 2 3 4 5 键的值。
           {
               $myserver = "redis";
               $data[$key] = $redis->get($key);
           }
   }
               echo $myserver;
               echo "<br>";
               for ($key=1;$key<=5;$key++)
                {
                    echo "number is <b><font color=#FF0000>$key</font></b>";
                    echo "<br>";
                    echo "name is <b><font color=#FF0000>$data[$key]</font></b>";
                    echo "<br>";
                }
?>

十浏览器访问测试

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值