之前我们小组封装了一个memcached类库,里面有一个名为RemoveStartWith的方法可以根据起始字符串删除所有节点中负责键值规则的缓存项。它实现的原理就是通过stats命令获取每个节点的所有缓存键值然后逐一匹配。使用magent后这个方法就不起作用了,因为magent并不支持stats命令。查看了magent.c源代码:

} else if (ntokens >= 2 && (strcmp(tokens[COMMAND_TOKEN].value, "stats") == 0)) {/* END\r\n*/char tmp[128];out_string(c, "memcached agent v" VERSION);for (i = 0; i < matrixcnt; i ++) {snprintf(tmp, 127, "matrix %d -> %s:%d, pool size %d", i+1, matrixs[i].ip, matrixs[i].port, matrixs[i].used);out_string(c, tmp);}out_string(c, "END");skip = 1;}

要让magent支持stats命令需要作出一定的修改,主要包括在conn结构中的flag结构新增一个stats相关命令、修改发送请求的do_transcation函数实现、修改处理请求的process_get_response函数实现。

magent实现memcached集群的一个问题相关推荐

  1. Magent搭建Memcached集群

    原文地址:http://ultrasql.blog.51cto.com/9591438/1636374 Memcached集群介绍 由于Memcached服务器与服务器之间没有任何通讯,并且不进行任何 ...

  2. memcached+magent实现memcached集群

    首先说明下memcached存在如下问题 本身没有内置分布式功能,无法实现使用多台Memcache服务器来存储不同的数据,最大程度的使用相同的资源:无法同步数据,容易造成单点故障.(memagent代 ...

  3. [转]memcached+magent实现memcached集群

    From : http://www.cnblogs.com/happyday56/p/3461113.html 首先说明下memcached存在如下问题 本身没有内置分布式功能,无法实现使用多台Mem ...

  4. Linux下安装搭建Memcached集群环境

    由于项目需要,需要搭建memcached集群环境,遂开始调研相关技术 网络上有不少linux下安装memcached的教程,对于我这个linux零基础的来说,想立马在linux下安装memcached ...

  5. 超简单的memcached集群搭建

    Memcached虽然能够通过分布式缓存,实现其中memcached宕掉不会丢失全部缓存数据,但部分数据还是难逃一劫.    我们可以利用magent代理memcached实现主从备份来保证缓存数据完 ...

  6. Nginx+Tomcat+Memcached集群 【测试成功】

    Nginx+Tomcat+Memcached集群 Tomcat集群session同步方案有以下几种方式: 使用tomcat自带的cluster方式,多个tomcat间自动实时复制session信息,配 ...

  7. Memcached 集群架构方面的问题

    Memcached 集群架构方面的问题 *  集群架构方面的问题 o memcached是怎么工作的? o memcached最大的优势是什么? o memcached和MySQL的query cac ...

  8. Memcached 集群环境Java客户端

    Memcached 集群环境Java客户端 学习了: http://blog.csdn.net/zhouzhiwengang/article/details/53154112 http://guazi ...

  9. 向Hadoop集群添加一个新的节点

    如何向向Hadoop集群添加一个新的节点? 1.在新节点安装好hadoop或者从其他节点复制一份 2.把namenode的有关配置文件复制到该节点 3.修改masters和slaves文件,增加该节点 ...

最新文章

  1. 【javascript基础】由demo来进阶学习闭包等概念
  2. 实验三 循环结构设计
  3. 【翻译自mos文章】怎么正确的计算一个ip地址的subnet id?
  4. 用markdown写博客园
  5. sql 随机数高效率算法
  6. 《高性能Linux服务器构建实战》——2.1节初识Varnish
  7. 针对 easyui boolean 布尔值 的处理
  8. swift5 实现购物App
  9. java实现遍历树形菜单方法——数据库表的创建
  10. 添加弹窗_阻止电脑广告弹窗窗口让电脑桌面更清洁
  11. HTML vs XHTML vs DHTML
  12. matlab运行为什么要选中代码,性能 – 为什么(在MATLAB中)这个代码更快?
  13. linux 开放端口
  14. 计算机操作系统的分类
  15. 明月镜片在创业板上市:镜片贡献八成收入,系谢公晚家族企业
  16. 服务器节点数及系统数量,计算节点服务器数量16.docx
  17. 如何裁剪gif动图的尺寸?仅需三步即可快速裁剪动图
  18. 流年里写给30岁的自己
  19. python颜色对照表及颜色搭配
  20. 修改Windows 2003登录及关机界面(不出现关机提示、按CTRL+ALT+DEL开机)

热门文章

  1. notepad++ 操作实例
  2. PopUpWindow使用详解(二)——进阶及答疑
  3. JS转换HTML转义符
  4. 数据库mongodb和mysql对比
  5. ProjectManagement::Redmine备份与恢复
  6. 【十五分钟Talkshow】工作流及工作流框架、服务
  7. 【转】 asp.net从视频文件中抓取一桢并生成图像文件的方法 实现多语言本地化应用程序 自动返回上次请求页面...
  8. 基于AVR和MT8870的远程家电控制系统设计
  9. SQLite入门与分析(四)---Page Cache之事务处理(3)
  10. python如何读取公共盘的文档_如何使用 Sphinx 给 Python 代码写文档 | Linux 中国