memcached相关

原创 2015年11月19日 20:02:36

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中


版权声明:本文为博主原创文章,未经博主允许不得转载。

面试题之Memcached与Redis的区别

Memcached 与 Redis 的区别
  • talioth
  • talioth
  • 2016年04月06日 17:50
  • 3183

Memcached 常见的问题

memcached是怎么工作的? Memcached的神奇来自两阶段哈希(two-stage hash)。Memcached就像一个巨大的、存储了很多对的哈希表。通过key,可以存储或查询任意的数据...
  • CHBOS
  • CHBOS
  • 2016年03月25日 13:04
  • 962

memcached启动与清理缓存

memcached启动 memcached清理缓存需要通过telnet服务
  • allus0918
  • allus0918
  • 2016年01月08日 12:09
  • 7286

Memcached实现机制

Memcached一般被用于高并发场景下,数据库前的缓存层,用以缓解数据库的读取压力,提高应用速度和可扩展性。     特点: 协议简单,基于简单的文本行协议基于libevent的事件处理,使...
  • wl6965307
  • wl6965307
  • 2016年05月12日 16:48
  • 824

深入理解memcached,高并发、懒惰与LRU(一)

1. Memcached如何支持高并发         Memcached使用多路复用I/O模型。传统阻塞I/O中,系统可能随时因为某个用户连接还没做好I/O准备而一直等待,知道这个连接做好准备。如果...
  • u012675743
  • u012675743
  • 2015年07月07日 15:03
  • 2863

memcached源码分析-----网络模型

转载请注明出处: 半同步/半异步:         memcached使用半同步/半异步网络模型处理客户端的连接和通信。         半同步/半异步模型的基础设施:主线程创建多个子线程(这...
  • luotuo44
  • luotuo44
  • 2015年01月14日 09:59
  • 5040

memcached分布式部署

memcache和memcached两者使用起来几乎一模一样。 $mem = new Memcache; $mem->addServer($memcachehost, '11211'); $mem-...
  • moqiang02
  • moqiang02
  • 2014年09月15日 17:19
  • 1618

memcached—如何在Windows操作系统中安装、启动和卸载memcached

memcached—如何在Windows操作系统中安装、启动和卸载memcached
  • wangshuxuncom
  • wangshuxuncom
  • 2014年12月11日 20:08
  • 4620

memcached实战系列(六)理解Memcached的数据存储方式

Memcached的数据存储方式被称为Slab Allocator,其基本方式是: 1:先把内存分成很多个Slab,这个大小是预先规定好的,以解决内存碎片的问题。启动参数的时候配置进去的不懂得可以参考...
  • qq_30739519
  • qq_30739519
  • 2016年04月09日 12:32
  • 1654

memcached学习之item部分

item部分的功能介绍 item部分是memcached的存储结构,所有的读写修改等操作都是通过对item的处理来进行的,另外对于缓存来说,其能够使用的内存空间是有限的,如果将请求数少或者过期的数据...
  • fusan2004
  • fusan2004
  • 2016年06月16日 18:37
  • 243
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:memcached相关
举报原因:
原因补充:

(最多只允许输入30个字)