♂优优之家♀uuZhiJia.CN

♂优优之家♀uuZhiJia.CN

♂优优之家♀uuZhiJia.CN
当前位置: 优优首页 > 站长日志 >

PHP之Memcache缓存解读

Mem是memory(内存)的缩写,cache缓存。Memcache即为内存缓存。
♂优优之家♀uuZhiJia.CN-AD666
Mem是memory(内存)的缩写,cache缓存。Memcache即为内存缓存。
 
1、  断电或者重启服务器内存数据即消失,即临时数据;
 
Memcache默认端口:11211
 
存入方式:key=>>value    lengh(长度)   time(过期时间)
 
注意:不只是字符串,视频,声音,图片,文字等等都可以存;
 
对比:
 
Apache –消耗Cpu,用的内存很少
 
Memcache-消耗内存比较多,CPU消耗较少 
 
Memcache的安装:
 
如果安装了memcached不安装扩展,那么php无法操控memcached,但是命令行使用起来没有问题,如果安装了memcache扩展但是没有安装memcached服务,那么这个就无法使用 ,只有同时安装了memcached服务和memcache扩展才可以在PHP中使用memcached提高动态网站性能
windows 安装memcached
 
1、安装扩展:下载后解压(链接:http://pan.baidu.com/s/1gdWDjMz 密码:6isi)
 
选择合适的版本,把php_memcache.dll放到php的ext目录子下,在php.ini中添加一行代码:extension=php_memcache.dll。重启服务
 
2、安装服务:下载地址: http://www.2cto.com/uploadfile/2012/0713/20120713110308123.zip
 
将下载好的文件解压到某个文件夹下,打开cmd命令行,进入memcached目录,执行memcached -d install命令,安装服务。
 
如果在没有安装过的情况下,出现"failed to install service or service already installed"错误,可能是cmd.exe需要用管理员身份运行。
 
3、启动服务,执行memcached -d start
 
4、参数介绍:
 
     -p 监听的端口 
    -l 连接的IP地址, 默认是本机 
   -d start 启动memcached服务 
   -d restart 重起memcached服务 
   -d stop|shutdown 关闭正在运行的memcached服务 
   -d install 安装memcached服务 
   -d uninstall 卸载memcached服务 
   -u 以的身份运行 (仅在以root运行的时候有效) 
   -m 最大内存使用,单位MB。默认64MB 
   -M 内存耗尽时返回错误,而不是删除项 
   -c 最大同时连接数,默认是1024 
   -f 块大小增长因子,默认是1.25 
   -n 最小分配空间,key+value+flags默认是48 
   -h 显示帮助
 
连接到memcache   命令行:telnet 127.0.0.1 11211
 
<?php
 
Echo phpinfo();
 
?>
 
实例:
 
<?php
 
$mem = new Memcache;
 
$mem->connect("127.0.0.1", 12000);
 
//Memcache::set方法有四个参数,第一个参数是key,第二个参数是value,第三个参数可选,表示是否压缩保存,第四个参数可选,用来设置一个过期自动销毁的时间。
 
$mem->set('test','123',0,60);
 
//Memcache::add方法的作用和Memcache::set方法类似,区别是如果 Memcache::add方法的返回值为false,表示这个key已经存在,而Memcache::set方法则会直接覆写。
 
$mem->add('test','123',0,60);
 
//Memcache::get方法的作用是获取一个key值,Memcache::get方法有一个参数,表示key。
 
$mem->get('test');//输出为'123'
 
//Memcache::replace 方法的作用是对一个已有的key进行覆写操作,Memcache::replace方法有四个参数,作用和Memcache::set方法的相同。
 
$mem->replace('test','456',0,60);
 
//Memcache::delete方法的作用是删除一个key值,Memcache::delete方法有两个参数,第一个参数表示key,第二个参数可选,表示删除延迟的时间。
 
$mem->delete('test',60);
 
?>
 
对于内存缓存,比较常用的有两种memcache和memcached扩展,而memcache和memcached的守护进程mencached同名,容易混淆
 
a、Memcache是完全在PHP框架内开发的
 
b、Memcached是使用libmemcached的
 
c、Memcached会比memcache多几个方法,使用方式上都差不多
 
d、memcache是原生实现的,支持OO和非OO两套接口并存,而memcached是使用libmemcached,只支持OO接口。更多关于他们的区别,请参考:http://hi.baidu.com/dong_love_yan/blog/item/afbe1e12d22e7512203f2e21.html
 
memcached ,还有个值得陈赞的地方,就是flag不用再操作的时候设置了,可以通过一个统一的setOption()方法实现。
织梦二维码生成器
AD680X60
时间:2018-01-24 19:04来源:UUhome.TOP 作者:uuadmin 点击:
------分隔线----------------------------
栏目列表
AD240X60
推荐内容
AD240X60
AD240X60
♂优优之家♀uuZhiJia.CN