Memcached的分布式结构和并发机制

Memcached是基于CS结构的,并非是基于BS结构,因为他和apache没有任何的关系,主要是依赖于php的。是依靠libevent来处理并发的。

Memcached是利用内置内存的方式维护数据,从而提高数据的处理速度。而且内存大大小可以进行配置,如果内存溢出,则按照时间的顺序优先保存,旧的东西要么缓存掉,要么删除掉。即使用RUL算法。

测试分布式如下:

Memcached.exe -p 新的端口号(记住,不要关闭cmd)

这个时候,我们的Memcached就有两个端口号了,就意味着存在着两个Memcached服务。

但是,我们要注意的就是,在建立Memcached对象的时候,虽然同时制定两个服务,但是Memcached会根据其自身的算法来选择保存数据的内存位置,如下面代码所示:

<?php

$mem = new Memcache;
$mem->addServer('127.0.0.1',11211);
$mem->addServer('127.0.0.1',9999);
//全部加进去
if($mem->add('key2','Hello',MEMCACHE_COMPRESSED,200)){
	echo "成功加入";
}
?>

$mem = new Memcache;
$mem->addServer('127.0.0.1',11211);
$mem->addServer('127.0.0.1',9999);

$val=$mem->get('key2');
echo $val;


数据的取出如下:只要指定所有的端口服务,便可以取出:


那么就是说,我们主要做的任务就是储存和取出数据,关于数据的存放位置我们就不必去考虑了,因为之前说过数据都是不是很重要无关于安全的数据。

这就是对于Memcached分布式处理数据的基本方式。

综上所述:

我们就知道,当多个Memcached服务存在,Memcached是分布式处理数据。

关于数据存放的位置是Memcached的内部算法决定存放位置,然后尝试连接。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值