博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Memcache的分布式应用
阅读量:6543 次
发布时间:2019-06-24

本文共 865 字,大约阅读时间需要 2 分钟。

早就听说是一个不错的分布式内存缓存系统,做了些功课想把这memcache用到实际当中来.因为一个好的缓存系统,能给web应用带来不小的性能提升.做了一些功课之后,做了下面几点总结:

  • memcache适合与web server安装在同一server上
  • memcache可以在n个端口开n个进程,如果和web server在同一机器的话,还能减少网络开销.
  • 配置简单,启动一个进程就行了,免去了配置文件

我更关心的是,memcache的分布式应用应该如何部署.带着这个问题,我在各搜索引擎上做了进一步的功课.最初找到的办法是,首先启动n个memcache进程,这些进程可以在不同的server的不同端口上.

然后使用perl的api可以方便的一次链接多个memcache,存储读取机制不明.不久找到的 一个MemcachedClient类,基本上就是perl里api的再实现.它使用的fscokopen或者socket系列function来直接读 取memcache—-这说明只要清楚memcache的网络协议,你甚至不用装什么php的memcache extenstion.看了这个类的实现,基本上弄清楚,它的分布式应用差不多就是将不同的key保存在不同的memcache daemon,不会保留多个副本,也就不存在多memcache同步的问题了.

过了不久俺又有发现,在最新的php手册上找到了memcache::addServer()这方法,它就是为分布式应用而产生的,有了这个支持的话,php的代码就更简单:

addServer('memcache_host', 11211);    $memcache_obj->addServer('failed_host', 11211);    $stats = $memcache_obj->getExtendedStats();    print_r($stats); ?>

看来php手册也要与时俱进啊,最好是能够直接使用英文版,否则也不会走这么多弯路了:)

官方站点

转载地址:http://deado.baihongyu.com/

你可能感兴趣的文章
吉炬消费系统软件输入密码后无法打开软件界面故障处理
查看>>
Hibernate学习系列————注解一对多双向实例
查看>>
Cannot load from mysql.proc
查看>>
网络运维之 EX4200消除var分区使用过高的告警
查看>>
【最好的流程是没有流程】
查看>>
Apache Thrift 教程
查看>>
Python Epoll
查看>>
AS3歌词同步详解
查看>>
单例模式
查看>>
Linux环境NetBeans字体通用抗据齿解决方法
查看>>
Eclipse的花括号(brace)的输入偏好问题
查看>>
Android开发 获取当前activity的屏幕截图
查看>>
工作记录
查看>>
nginx 新语法 limit_conn_zone 替换 limit_conn 用法
查看>>
Python基础
查看>>
python之重写父类方法
查看>>
js 压缩工具 yuicompressor和compiler使用
查看>>
Docker基础之一:Docker 的架构
查看>>
cucumber-api安装与试用
查看>>
测定网络流量的模式和HP C7000 Virtual Connect 的网络设计(Active/Standby vs Active/Active)...
查看>>