Memcache
MemCache是一个自由、源码开放、高性能、分布式的分布式内存对象缓存系统,
MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串、对象等)使用key-value存储
为什么要使用Memcache ?
主要用于动态Web应用以减轻数据库的负载它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度
实验环境
虚拟机server1(172.25.254.10) | 源码编译好的Mysql、Nginx、PHP |
---|---|
物理机 | 172.25.254.2 |
php+memcache实现过程
(1)在server1上面:将之前PHP编译完成的二进制命令加入到环境变量中,可以直接调用PHP命令
vim ~/.bash_profile 将php命令加入环境变量的配置文件当中
source ~/.bash_profile 使其生效
php tab可以看到可以使用php命令了
(2)从真机给虚拟机传一个memcache的安装包
(3)创建预编译环境
phpize可以使的它进行编译
(4) 编译并安装
./configure - -with-php-config=/usr/local/nmp/php/bin/php-config
(5)修改php主配置文件,增加两个模块
[ root@server5 ~]# cd /usr/ocal Anmp /php/etc/
[ root@server5 etc]# vim php.ini
759 extension_ dir = "/usr/ocal/nmp/php/ib/php/ext ensions/no- debug-non-zts-20190902" #这个路径是安装模块后生成的
913 extension=memcache . so
重新加载php
(6) php -m | grep memcache 可以查看是否加载成功
(7)安装memcached
(8)查看memcached的配置文件并启动
(9)telnet测试,没有就安装
stats
set name 0(表示顺序:键值) 0(表示缓存时间) 6(表示缓存的字符个数)
westoshaha错误
westos错误,时间已经过去
set name 0 0 6
westos正确
get name有
delete name
get name没有
set name 0 5 6再次创建为westos保存时间为5秒,5秒内查看没有失效,5秒后查看失效
等待5s
get name 没有
quit
(10)将下面的文件复制到/usr/local/lnmp/nginx/html/文件下
cp memcache.php /usr/local/lnmp/nginx/html/放到默认发布目录下
cd /usr/local/lnmp/nginx/html/
vim memcache.php
(11)修改memcache的密码和访问地址
vim memcache.php
加入管理员密码:westos,名字memcache
172.25.254.10
注释掉一个memcache
重新加载服务
(12)浏览器访问http://172.25.254.10/memcache.php 输入用户和密码,可以看到现在命中率25 %
(13)测试
没有memcache的php
有memcache的php
这样就提高的访问速度!!!