准备工做php
把php_memcache.dll文件拷贝到php的ext下。apache
特别说明:不一样版本php所用的php_memcache.dll版本不一样。json
修改php.ini文件,加载php_memcache.dll(这个文件其实就是加载了一大堆的函数)数组
重启apache函数
php实际操做code
$mem = new Memcache(); //实例化对象对象
$mem = connect('127.0.0.1',11211);资源
$mem -> add(键,值,是否压缩,生存时间);字符串
$mem -> set(同上); //键若是存在就修改,不存在就添加序列化
memcache能够保存字符串和数组、数字、对象
保存对象的时候会产生一个问题:在另一个文件中取出对象的时候,有一个须要注意的地方。对应php5.2这个版本会提示错误,对php5.3这个版本会提示incomplete信息。这个错误和保存在$_SESSION中是同样的,解决方法也同样。
解决方法:在当前脚本在从新声明类定义(把类也拿过去)
添加 null 取出 null
添加 false 取出 ‘’
修改 $mem->replace(同添加);
删除 $mem->delete(键);
所有冲掉 flush
注意细节:在添加数据时,若是把expire(超时)设为0,表示永不过时。expire直接给秒数,则最大只能是30天,即30*3600*24.若是你但愿保持时间超过30天,用时间戳表示,即 time()+天数*3600*24 。
放入资源,却出0,因此资源是不支持的。(注意)
在添加数组时,能够根据须要,进行序列化 serializa() 能够把对象和数组保存在磁盘中。
相对应的还有json化,也是一样能够变成字符串。区别在于:serializa()能够把数据的类型和大小一些信息一样的保存下来,主要用于数据的储存。json_encode()不保存数据类型等信息,主要是方便数据的传输。