微信号:phpdaily

介绍:PHP在线专注于PHP编程语言学习,PHP开发经验分享,工作问题解决以及PHP在线技能测评等多功能为一体的服务系统,希望给工作学习中的PHPER带来些帮助。

Memcached使用介绍

2016-07-13 14:11 wangxl

memcached是高性能的分布式内存缓存服务器,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度和可扩展性。

特点:

  1. 协议简单;

  2. 机遇libevent的事件处理;

  3. 内置内存存储方式;

  4. 采用不相互通信的分布式;


memcached的对象实际上放置在内存中,这是如此快速的原因。


memcached如何支持高并发?

memcached使用多路复用I/O模型(epoll,select等),传统阻塞I/O中,系统可能会因为某个用户连接还没有做好I/O准备而一直等待,直到这个连接做好I/O准备。如果这时还有其他用户连接到服务器,可能会因为系统阻塞而得不到响应。

而多路复用I/O是一种消息通知模式,用户连接做好I/O准备后,系统会通知我们这个连接可以进行I/O操作,这样就不会阻塞某个用户连接。因此才能支持高并发。

线程数并不是越多越好,一般设置为CPU核数,这样效率最高。


memcached分布式布置方案

有1台memcached服务器不能满足我们的需求,需要布置多台memcached服务器。但是有个问题,怎么确定一个数据应该保存到哪个服务器上呢?

有两种方案,第一种普通Hash分布,第二种一致性Hash分布。



 
PHP在线 更多文章 这些GIT经验够你用一年了 如何发挥出PHP7的高性能 API接口设计 PHP7.0新增功能详解 常见的 CSRF、XSS、sql注入、DDOS流量攻击
猜您喜欢 HA 高可用软件系统保养指南 如何构建企业级Docker Registry Server 数据科学家获取更高薪资的几点建议~ 加入“未来就绪企业云联盟”,FIT2CLOUD同联盟成员共同推进企业云就绪 当推荐系统遇上金融大数据,新的商业模式将面临怎样的考验?