关闭

memcached相关

标签: memcachedoboutput_buffering
99人阅读 评论(0) 收藏 举报

memcached  是一个高效的分布式的内存对象缓存系统,可以把各种php的数据(array,对象,各种基本类型,除了资源)存入到它管理的内存中.


Tips : serialize($arr) 序列化,在网络传输时为了保证数据类型不丢失


json_encode()  json化


访问速度:   数据库<文件<内存 

图为PHP缓存机制




OutPut_buffering 常用的函数:

ob_start()  开启缓存 

ob_get_contents()   获取缓存内容

ob_clean()  清空缓存内容 

ob_end_clean() 清空缓存并且关闭缓存

ob_end_flush()  输出缓存并且关闭缓存

ob_flush 输出ob缓存内容,并清空但不关闭

 flush()刷新程序缓存


使用memcached扩展(一系列函数) 来操作memcached 缓存系统.


下载memcached 

1.php.ini中配置extension 放入到php/ext/目录

2.打开extension

--这里启用memcache.dll扩展

extension==php_memcached.dll

 

memcached使用步骤:

1.实例化memcached对象 $mem= new Memcache;

2.连接到memcached中$mem->connect("127.0.0.1",112211);

3.添加数据 $mem->add("名字","值",0,生命周期);    0 代表不压缩数据 压缩数据用MEMCACHE_COMPRESSED

4.获取数据 $mem->get("名字");

exp:存储对象

class Person{

public $age;

public $name;

public function __construct($age,$name){

$this->age=$age;

$this->name=$name;

}

}

$person = new Person("10","xiaoming");

$mem->add("per",$person,MEMCACHE_COMPRESSED,30);

$per2 = $mem->get('per');


使用多个memcached缓存系统(负载均衡)

$mem->addServer("127.0.0.2",112211);

$mem->addServer("127.0.0.3",112211);

$mem->addServer("127.0.0.4",112211);

$mem->addServer("127.0.0.5",112211);

下面方法与上面方法一样;


如果Apache 不允许添加dll ;  可以下载memcached-cilent.php , 然后在require 该文件(socket);起始步骤如下:

$mem = new memcached( array('servers' => ('127.0.0.1:112211),//多个memcache服务器使用逗号隔开)

''debug' => false,

'compress_threshold' => 10240, //压缩大小

'persistant' => true,

);


memcached 机制 : 1.基于c/s架构 协议简单,使用简单文本通讯;  2. 基于libevent事件处理,跨平台兼容性好,并发性好; 3.是内存缓存; 4基于客户端的分布式


可以把session放入到memcached中


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:938次
    • 积分:51
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章存档