配置环境:redhat6.5

server1:redis(172.25.254.1)

server2:php(172.25.254.2)

server3:mysql(172.25.254.3)

配置步骤:

server2:

1、server2安装php的redis相应模块

2、nginx安装

[root@server2 php-fpm.d]# rpm -ivh nginx-1.8.0-1.el6.ngx.x86_64.rpm warning: nginx-1.8.0-1.el6.ngx.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62: NOKEYPreparing...        ########################################### [100%]  1:nginx         ########################################### [100%]---------------------------------------------------------------------- Thanks for using nginx! Please find the official documentation for nginx here:* https://nginx.org/en/docs/Commercial subscriptions for nginx are available on:* https://nginx.com/products/ ----------------------------------------------------------------------[root@server2 php-fpm.d]# id nginxuid=498(nginx) gid=499(nginx) groups=499(nginx)

1、php配置

[root@server2 php-fpm.d]# cd /etc/php-fpm.d/[root@server2 php-fpm.d]# id nginxuid=498(nginx) gid=499(nginx) groups=499(nginx)[root@server2 php-fpm.d]# vim www.conf  39 user = nginx 41 group = nginx [root@server2 php-fpm.d]# vim /etc/php.ini 946 date.timezone = Asia/Shanghai[root@server2 php-fpm.d]# /etc/init.d/php-fpm startStarting php-fpm:                     [ OK ][root@server2 php-fpm.d]# netstat -antlp | grep phptcp    0   0 127.0.0.1:9000       0.0.0.0:*          LISTEN   1125/php-fpm    [root@server2 php-fpm.d]# vim /etc/php.ini
[root@server2 ~]# cd /etc/nginx/conf.d/[root@server2 conf.d]# lsdefault.conf example_ssl.conf[root@server2 conf.d]# vim default.conf  10     index index.php index.html index.htm; 30   location ~ \.php$ { 31     root      html; 32     fastcgi_pass  127.0.0.1:9000; 33     fastcgi_index index.php; 34     fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script  _name; 35     include    fastcgi_params; 36   }[root@server2 conf.d]# nginx -tnginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful[root@server2 conf.d]# nginx [root@server2 conf.d]# netstat -anplt |grep nginxtcp    0   0 0.0.0.0:80         0.0.0.0:*          LISTEN   1141/nginx
[root@server2 conf.d]# cd /usr/share/nginx/html/[root@server2 html]# vim index.php[root@server2 html]# cat index.php <!--phpphpinfo()-->[root@server2 html]# /etc/init.d/php-fpm reloadReloading php-fpm: [14-Jul-2018 01:09:13] NOTICE: configuration file /etc/php-fpm.conf test is successful                              [ OK ]

4、php配置redis+mysql

[root@server2 ~]# cd /usr/share/nginx/html/[root@server2 html]# vim test.php   <!--php      $redis = new Redis();      $redis--->connect('172.25.254.1',6379) or die ("could net connect redi  s server");   #   $query = "select * from test limit 9";      $query = "select * from test";      for ($key = 1; $key < 10; $key++)      {          if (!$redis->get($key))          {             $connect = mysql_connect('172.25.254.3','redis','wes  tos');             mysql_select_db(test);             $result = mysql_query($query);             //如果没有找到$key,就将该查询sql的结果缓存到redis             while ($row = mysql_fetch_assoc($result))             {                 $redis->set($row['id'],$row['name']);             }             $myserver = 'mysql';             break;         }         else         {             $myserver = "redis";             $data[$key] = $redis->get($key);         }     }     echo $myserver;     echo "";     for ($key = 1; $key < 10; $key++)     {        echo "number is $key";        echo "";        echo "name is $data[$key]"  ;        echo "";   }>
[root@server2 ~]# unzip phpredis-master.zip [root@server2 ~]# cd phpredis-master[root@server2 phpredis-master]# phpize Configuring for:PHP Api Version:     20090626Zend Module Api No:   20090626Zend Extension Api No:  220090626[root@server2 phpredis-master]# lsacinclude.m4  config.sub   library.c     README.markdownaclocal.m4   configure    library.h     redis.cautom4te.cache configure.in  ltmain.sh     redis_session.cbuild      CREDITS     Makefile.global  redis_session.hcommon.h    debian     missing      run-tests.phpconfig.guess  debian.control mkdeb-apache2.sh serialize.listconfig.h.in   igbinary    mkinstalldirs   testsconfig.m4    install-sh   php_redis.h[root@server2 phpredis-master]# ./configure [root@server2 phpredis-master]# make && make install [root@server2 ~]# cd /etc/php.d/[root@server2 php.d]# lscurl.ini   json.ini   mysql.ini   pdo_sqlite.ini zip.inifileinfo.ini mbstring.ini pdo.ini    phar.inigd.ini    mysqli.ini  pdo_mysql.ini sqlite3.ini[root@server2 php.d]# cp mysql.ini redis.ini[root@server2 php.d]# vim redis.ini  2 extension=redis.so [root@server2 php.d]# /etc/init.d/php-fpm reloadReloading php-fpm: [14-Jul-2018 01:21:56] NOTICE: configuration file /etc/php-fpm.conf test is successful                              [ OK ][root@server2 php.d]# php -m |grep redisredisserver3:mysql配置
[root@server3 ~]# rpm -qa | grep mysqlmysql-community-common-5.7.17-1.el6.x86_64mysql-community-client-5.7.17-1.el6.x86_64mysql-community-libs-compat-5.7.17-1.el6.x86_64mha4mysql-node-0.56-0.el6.noarchmysql-community-libs-5.7.17-1.el6.x86_64mysql-community-server-5.7.17-1.el6.x86_64[root@server3 ~]# rpm -e `rpm -qa|grep mysql` --nodeps  ##不考虑依赖性删除mysqlwarning: /etc/my.cnf saved as /etc/my.cnf.rpmsave[root@server3 ~]# rpm -qa | grep mysql[root@server3 ~]# cd /var/lib/mysql/[root@server3 mysql]# rm -fr *[root@server3 mysql]# ls[root@server3 mysql]# yum install -y mysql-server ##安装
[root@server3 ~]# /etc/init.d/mysqld start[root@server3 ~]# mysql < test.sql[root@server3 ~]# mysql < test.sql [root@server3 ~]# cat test.sql use test;CREATE TABLE `test` (`id` int(7) NOT NULL AUTO_INCREMENT, `name` char(8) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO `test` VALUES (1,'test1'),(2,'test2'),(3,'test3'),(4,'test4'),(5,'test5'),(6,'test6'),(7,'test7'),(8,'test8'),(9,'test9');#DELIMITER $$#CREATE TRIGGER datatoredis AFTER UPDATE ON test FOR EACH ROW BEGIN#  SET @RECV=gman_do_background('syncToRedis', json_object(NEW.id as `id`, NEW.name as `name`)); # END$$#DELIMITER ;
[root@server3 ~]# mysqlmysql> grant all on test.* to redis@'%' identified by 'westos';Query OK, 0 rows affected (0.00 sec)mysql> select * from test.test;+----+-------+| id | name |+----+-------+| 1 | test1 || 2 | test2 || 3 | test3 || 4 | test4 || 5 | test5 || 6 | test6 || 7 | test7 || 8 | test8 || 9 | test9 |+----+-------+9 rows in set (0.00 sec)

1、php默认从redis 索取数据,第一次redis无缓存,则php从mysql'索取数据

第一次无缓存

第二次索取数据后:

redis节点也可查看

[root@server1 redis-4.0.1]# redis-cli127.0.0.1:6379> get 2"test2"
mysql> update test.test set name='westos' where id=1;Query OK, 1 row affected (0.05 sec)Rows matched: 1 Changed: 1 Warnings: 0mysql> select * from test.test;+----+--------+| id | name  |+----+--------+| 1 | westos || 2 | test2 || 3 | test3 || 4 | test4 || 5 | test5 || 6 | test6 || 7 | test7 || 8 | test8 || 9 | test9 |+----+--------+9 rows in set (0.00 sec)
[root@server1 redis-4.0.1]# redis-cli127.0.0.1:6379> get 2"test2"127.0.0.1:6379> del 1(integer) 1127.0.0.1:6379> get 1(nil)

更多相关文章

  1. JS与Android(安卓)WebView的简单交互 + WebView 的简单使用
  2. Android架构分析之使用自定义硬件抽象层(HAL)模块
  3. Android异步加载图像小结 (含线程池,缓存方法)
  4. Android(安卓)主流图片库Picasso Glide Fresco对比分析
  5. Android(安卓)RIL总体架构介绍
  6. Android(安卓)源码结构
  7. Android架构知识
  8. 几个Android小错误解决方法
  9. android 内存缓冲机制:MemoryCache

随机推荐

  1. 有关 Android(安卓)Studio 重复引入包的
  2. Android 解析excel文件
  3. 从源代码编译Android(CyanogenMod For He
  4. Android P(api28) 不支持 http 协议解决
  5. android(3)(android五大布局)
  6. Android gradle测试
  7. 分页控件1
  8. Android(安卓)Fragment嵌套导致的bug
  9. Android常用代码
  10. Android拷贝图片到指定文件路径