Memcached主从复制+Keepalived实现Memcached高可用架构集群实施--缓存Mysql查询结果

目录

Memcached主从复制+Keepalived实现Memcached高可用架构集群实施--缓存Mysql查询结果

前言

系统环境

部署服务

Memcached服务端

Mysql服务端

Web服务端

实验验证


Memcached主从复制+Keepalived实现Memcached高可用架构集群实施--缓存Mysql查询结果

前言

关于Memcached缓存服务和Memcached主从复制+Keepalived实现Memcached高可用架构集群实施--session共享均在之前已经实现,详细请看本人博文:

企业级部署Memcached

Memcached主从复制+Keepalived实现Memcached高可用架构集群实施之缓存session节点

系统环境

和Memcached主从复制+Keepalived实现Memcached高可用架构集群实施之session一样,所以在此不在浪费篇幅,如有需要请移步

部署服务

Memcached服务端

netstat -tunlp | grep memcache

tcp        0      0 0.0.0.0:11211               0.0.0.0:*                   LISTEN      34059/memcached     

tcp        0      0 :::11211                    :::*                        LISTEN      34059/memcached     

Mysql服务端

mysql -uroot -p

Enter password:

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

| wiki               |

+--------------------+

5 rows in set (0.16 sec)

 

mysql> grant select on wiki.* to root@'%' identified by '1';

Web服务端

在站点目录下

cat test_memtest.php

<?php

$memcachehost = '172.168.1.150';                 //memcache的IP地址

$memcacheport = 11211;

$memcachelife = 60;  //缓存生命周期为60秒

$memcache = new Memcache;

$memcache->connect($memcachehost,$memcacheport) or die ("Could not connect");

$query="select * from personal_info limit 10";

$key=md5($query);

if(!$memcache->get($key))

{

               $conn=mysql_connect("172.168.1.53","root","1");       

//这里注意IP是memcache服务IP,root是mysql用户名,123456是密码

                mysql_select_db(mydb);

                $result=mysql_query($query);

                while ($row=mysql_fetch_assoc($result))

                {

                        $arr[]=$row;

                }

                $f = 'mysql';

                $memcache->add($key,serialize($arr),0,30);

                $data = $arr ;

}

else{

        $f = 'memcache';

        $data_mem=$memcache->get($key);

        $data = unserialize($data_mem);

}

echo $f;

echo "<br>";

//print_r($data);

foreach($data as $a)

?>                                      //OK web服务器就算安装完毕

实验验证

在任意浏览器

 

 按F5刷新一下页面

 

上图显示数据是从Memcached中获取的

 一分钟后按F5刷新一下页面

 

者说明实验结果符合Web脚本设定

至此Memcached部分结束

猜你喜欢

转载自blog.csdn.net/zisefeizhu/article/details/81809045