Memcached使用介绍

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(phpdaily)

原文发表时间:2016-07-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

浅谈几种SLB技术的实现

今天小普和大家分享下,在最近的学习过程中,关于几个负载均衡技术的理解,以及几个实现的原理和关键点,希望对各位读者朋友有收获。 1 http重定向协议实现负载均衡...

4005
来自专栏架构师之路

webim如何保证消息的可靠投递

《webim如何保证消息的可靠投递》 上一章和大家分享了webim消息的实时性问题 消息的可靠性,即消息的不丢失和不重复,也是im系统中的一个难点。当初qq在技...

4458
来自专栏子勰随笔

SDK热更系列之概述(持续整理编辑中~)

21210
来自专栏菩提树下的杨过

Asp.Net4.0/VS2010新变化(5):可扩展的(分布式)缓存

.net3.0/3.5时代,asp.net的outPut缓存默认只能存放于内存中,但是内存资源是有限的,这就导致了缓存的无法扩展。 而asp.net4.0中允...

1795
来自专栏Java面试笔试题

Error和Exception有什么区别?(还在总结)

Error表示系统级的错误和程序不必处理的异常,是恢复不是不可能但很困难的情况下的一种严重问题;比如内存溢出,不可能指望程序能处理这样的情况;Except...

682
来自专栏互联网大杂烩

OAuth协议

OAUTH 协议旨在为用户资源的授权访问提供一个安全,开放的标准。平台商通过OAUTH协议,提示用户对第三方软件厂商(ISV)进进行授权。 使得第三方软件厂商...

421
来自专栏知晓程序

如何注册一个小程序?| 小程序问答 #32

今天,知晓程序(微信号 zxcx0101)就来手把手教你在公众平台,注册一个属于自己的小程序。

770
来自专栏后端之路

redis迁移数据

背景 由于一些原因 现在需要将redis作为基础组建迁移出来redis无法获取连接Could not get a resource from the pool ...

3394
来自专栏ShaoYL

iOS 组件化

2815
来自专栏Micro_awake web

从输入一个URL到页面完全显示发生了什么?

网络通信走的一般是五层因特网协议,详见下图。图片来自于https://images2018.cnblogs.com/blog/882926/201711/882...

650

扫码关注云+社区