>  기사  >  백엔드 개발  >  小蚂蚁学memcache笔记-php操作memcache(1)

小蚂蚁学memcache笔记-php操作memcache(1)

WBOY
WBOY원래의
2016-06-23 13:26:47950검색

准备工作

    把php_memcache.dll文件拷贝到php的ext下。

    特别说明:不同版本php所用的php_memcache.dll版本不同。

    修改php.ini文件,加载php_memcache.dll(这个文件其实就是加载了一大堆的函数)

    重启apache

php实际操作

    $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()不保存数据类型等信息,主要是方便数据的传输。

 

 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.