小蚂蚁学memcache笔记—php操做memcache(2)

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

相关文章
相关标签/搜索