Below you will find pages that utilize the taxonomy term “memcache”
October 27, 2011
php客户端memcached的安装教程
"我们在上篇文章里()介绍了LNMP的安装方法.只安装了memcache客户端.有些用户可能需要memcached这种客户端的.这里介绍一种php客户端memcached的安装方法.\n之前在安装memcache时有提到memcached客户端是叫memcache,其实还有一个基于libmemcached的客户端叫memcached,据说性能更好,功能也更多。参考:\nmemcache的官方主页: http://pecl.php.net/package/memcache memcached的官方主页: http://pecl.php.net/package/memcached\n以下是我安装Memcached版本的PHP模块的过程记录:\n#wget http://download.tangent.org/libmemcached-0.9.tar.gz #tar zxf libmemcached-0.9.tar.gz #cd libmemcached-0.9 #./configure --prefix=/usr/local/libmemcached --with-memcached #make …"
October 19, 2011
遍历memcache中的key和value
"什么是 memcache\nmemcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,最初为了加速 LiveJournal 访问速度而开发的,后来被很多大型的网站采用。目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。\n为什么要遍历\n目前,用到memcache的公司和网站也越来越多。Memcache的客户端操作一般都只提供了get,set等简单的操作,这些操作都是非常高效的。 虽然memcache是个key-value存储的系统,但是在某些时候,我们可能需要遍历memcache的数据。\n通过使用memcache 内置方法Memcache::getExtendedStats,首先获得items信息。\n最后得到的解决类似与\n\u0026lt;php $memcache = new Memcache(); $all_items = …"
October 19, 2011
memcache的addServer的故障转移机制
"如果有多台memcached服务器端(当然其他支持memcache协议的服务前端都可以,比如Tokyo Tyrant),最好使用$memcache-\u0026gt;addServer 来连接服务前端。\n连接示例:\n$mem_conf = array( array(\u0026#39;host\u0026#39;=\u0026gt;\u0026#39;192.168.0.11\u0026#39;, \u0026#39;port\u0026#39;=\u0026gt;\u0026#39;11211\u0026#39;), array(\u0026#39;host\u0026#39;=\u0026gt;\u0026#39;192.168.0.12\u0026#39;, \u0026#39;port\u0026#39;=\u0026gt;\u0026#39;11211\u0026#39;), array(\u0026#39;host\u0026#39;=\u0026gt;\u0026#39;192.168.0.13\u0026#39;, \u0026#39;port\u0026#39;=\u0026gt;\u0026#39;11211\u0026#39;) ); $memcache = new Memcache ( ); foreach ( $mem_conf as $v ) { $memcache-\u0026gt;addServer ( $v [\u0026#39;host\u0026#39;], $v …"
June 15, 2011
Linux下的Memcache安装
"服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-1.3.0 。 下载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz 另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,libevent的最新版本是libevent-1.3。(如果你的系统已经安装了libevent,可以不用安装) 官网: http://www.monkey.org/~provos/libevent/ 下载: http://www.monkey.org/~provos/libevent-1.3.tar.gz\n用wget指令直接下载这两个东西.下载回源文件后。 1.先安装libevent。这个东西在配置时需要指定一个安装路径,即./configure –prefix=/usr;然后make;然后make install;\n2.再安装memcached,只是需要在配置时需要指定libevent的安装路径即./configure –with-libevent=/usr;然 …"
April 5, 2011
Memcache基础教程
"Memcache是什么 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。 它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。 Memcache官方网站:http://www.danga.com/memcached,更多详细的信息可以来这里了解 .\n为什么会有Memcache和memcached两种名称? 其实Memcache是这个项目的名称,而memcached是它服务器端的主程序文件名,知道我的意思了把~~~~。一个是项目名称,一个是主程序文件名,在网上看到了很多人不明白,于是混用了。\nMemcache的安装 分为两个过程:memcache服务器端的安装和memcached客户端的安装。 所谓服务器端的安装就是在服务器(一般都是linux系统)上安装Memcache实现数据的存储 所谓客户端的安装就是指php(或者其他程序,Memcache还有其他不错 …"
March 23, 2011
遍历memcache中已缓存的key
"最近需要做一个缓存管理的功能。其中有一个需要模糊匹配memcached的key然后进行删除匹配上的key对应的数据。\n难点在于memcache 没有提供模糊匹配key删除缓存的功能,也没有提供遍历memcache key的功能。在网上search了下,\n点击10个连接有9个都是一篇文章的copy。网上最流行的方法发现key不能正确的获得。baidu google 全用上了就是没有解决。。。\n最后还是抱着试试的心态,终于把问题给解决了。废话少说。说说,我实现的代码:\n遍历memcache的可以需要有一下几个步骤:\n1、通过使用memcache 内置方法Memcache::getExtendedStats,首先获得items信息。\n最后得到的解决类似与\n1 $memcache = new Memcache(); 2 3 $all_items = $memcache-\u0026gt;getExtendedStats(\u0026#39;items\u0026#39;); 4 5 var_export($all_items); 1 array ( 2 \u0026#39;192.168.0.110:11211\u0026#39; =\u0026gt; …"
March 23, 2011
windows环境下memcache服务器使用经验
"将memcache服务器安装包解压到C:\\memcached文件夹后,使用cmd命令窗口安装。\n1\u0026gt;开始\u0026gt;运行:CMD(确定)\n2\u0026gt;cd C:\\memcached(回车)\n3\u0026gt;memcached -d install(回车 这步执行安装)\n4\u0026gt;memcached -d start(回车 这步执行启动memcache服务器,默认分配64M内存,使用11211端口)\n此时memcache服务器已经可以正常使用了。\nmemcache服务器安全:\nMemcache服务器端都是直接通过客户端连接后直接操作,没有任何的验证过程,这样如果服务器是直接暴露在互联网上的话是比较危险,轻则数据泄 露被其他无关人员查看,重则服务器被入侵,况且里面可能存在一些我们未知的bug或者是缓冲区溢出的情况,这些都是我们未知的,所以危险性是可以预见的。 为了安全起见,做两点建议,能够稍微的防止黑客的入侵或者数据的泄露。\n现在就关于修改memcache服务器配置的问题说明如下:\n1\u0026gt;用内网ip的方式提供web应用服务器调用,不允许直接通过外网调用,如将memcache服务器放 …"
March 23, 2011
freebsd+php+memcache、memcached安装和使用
"来源: http://www.lifecrunch.biz/archives/55\nMemcache 介绍 memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图 像、视频、文件以及数据库检索的结果等。Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,最初为了加速 LiveJournal 访问速度而开发的,后来被很多大型的网站采用。目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。起初作 者编写它可能是为了提高动态网页应用,为了减轻数据库检索的压力,来做的这个缓存系统。它的缓存是一种分布式的,也就是可以允许不同主机上的多个用户同时 访问这个缓存系统, 这种方法不仅解决了共享内存只能是单机的弊端,同时也解决了数据库检索的压力,最大的优点是提高了访问获取数据的速度!基于memcache作者对分布式 cache的理解和解决方案。 memcache完全可以用到其他地方 比如分布式数据库, 分布式计算等领域。\nMemcache官方网站: …"
March 23, 2011
Memcache VS Memcached VS MemcacheDB
"1、 简单讲Memcache和Memcached都讲的是同一个开源项目http://memcached.org/,只不过Memcached一般指的是后台的cache server(其实也是一个客户端的,参考php手册).而Memcache指的访问cache server的客户端。Memcached提供了两种访问协议,ASCII和Binary。\n2、 MemcacheDB=Memcached+BerkeleyDB组成的轻量的持久数据库,与前两者是不同的两个东西。\n3、作为数据库就要讲究consistency,但是Memcached是一种分布式的缓存机制,因此并不严格要求consistency,而且实际上每个memcached server之间本身不通讯也不共享,所谓的分布式是由memcached的客户端程序来决定的。一般分布式算法采用基于server节点数的取余法,这种方法以node数为基础,因此增减服务器就会造成很大hash失效问题。所以改进的算法一般采用consistent hash算法,这种算法取消了以服务器节点数作为基数的理念,而是直接对服务器的节点进行hash,然后散布 …"
March 23, 2011
Memcache的安全性
"Memcache服务器端都是直接通过客户端连接后直接操作,没有任何的验证过程,这样如果服务器是直接暴露在互联网上的话是比较危险,轻则数据泄 露被其他无关人员查看,重则服务器被入侵,因为Mecache是以root权限运行的,况且里面可能存在一些我们未知的bug或者是缓冲区溢出的情况,这 些都是我们未知的,所以危险性是可以预见的。为了安全起见,我做两点建议,能够稍微的防止黑客的入侵或者数据的泄露。\n内网访问\n最好把两台服务器之间的访问是内网形态的,一般是Web服务器跟Memcache服务器之间。普遍的服务器都是有两块网卡,一块指向互联网,一块指向内 网,那么就让Web服务器通过内网的网卡来访问Memcache服务器,我们Memcache的服务器上启动的时候就监听内网的IP地址和端口,内网间的 访问能够有效阻止其他非法的访问。\nmemcached -d -m 1024 -u root -l 192.168.0.200 -p 11211 -c 1024 -P /tmp/memcached.pid\nMemcache服务器端设置监听通过内网的192.168.0.200的ip的11211端口,占 …"
November 24, 2010
Memcache mutex设计模式
"周六的S2 Web 2.0技术沙龙上介绍了memcache中使用mutex场景(文后要演讲稿),有网友对详情感兴趣,简单介绍如下。\n场景 Mutex主要用于有大量并发访问并存在cache过期的场合,如\n首页top 10, 由数据库加载到memcache缓存n分钟 微博中名人的content cache, 一旦不存在会大量请求不能命中并加载数据库 需要执行多个IO操作生成的数据存在cache中, 比如查询db多次 问题 在大并发的场合,当cache失效时,大量并发同时取不到cache,会同一瞬间去访问db并回设cache,可能会给系统带来潜在的超负荷风险。我们曾经在线上系统出现过类似故障。\n解决方法 方法一 在load db之前先add一个mutex key, mutex key add成功之后再去做加载db, 如果add失败则sleep之后重试读取原cache数据。为了防止死锁,mutex key也需要设置过期时间。伪代码如下 (注:下文伪代码仅供了解思路,可能存在bug,欢迎随时指出。)\nif (memcache.get(key) == null) { // 3 min …"
April 1, 2010
MySQL Memcache_engine的安装与使用[原创]
"[文章作者:张宴 本文版本:v1.1 最后修改:2008.09.09 转载请注明原文链接: http://blog.s135.com/post/357/]\n鉴于国内外还没有人撰写如何安装Memcache_engine的文章,于是,我根据自己的编译安装步骤,写下此文。\nMemcache_engine是一个MySQL 5.1数据库的存储引擎,它能够让用户通过标准的SQL语句(SELECT/UPDATE/INSERTE/DELETE)访问Memcached(还支 持新浪的 Memcachedb、 dbcached)中 存放的数据。\n限制: 1、Memcache表必须有主键。 2、只能使用主 键去查询,即只能使用SELECT … FROM … WHERE id = … 方式去查询。 3、不支持自增ID。\n安装与使用: 1、编译安装memcache_engine的步骤:\ncd /tmp\nwget …"
October 2, 2008
[精典教程]freebsd下安装mysql,apache,php,phpmyadmin记录
"第一次在FREEBSD下配置环境,感觉好爽,安装的时候也参考了别人的介绍,在此表示感谢。\n为了方便以后的操作,现在记录写下来。\n**安装MYSQL时要注意: ** mysql默认数据库放在/var分区里,如果你的数据库很大,那么你需要在前面分区的时候把/var分区分到足够大, 如果你想改变它的安装目录,例如安装到:/usr/db.\n#cd /usr/ports/databases/mysql51-server #make WITH_CHARSET=utf8 WITH_XCHARSET=all WITH_PROC_SCOPE_PTH=yes SKIP_DNS_CHECK=yes BUILD_OPTIMIZED=yes install clean\n#cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf #/usr/local/bin/mysql_install_db #chown -R mysql:mysql /var/db/mysql #/usr/local/bin/mysqld_safe \u0026amp; //启动mysql …"
September 24, 2008
Windows下的Memcache安装
"Windows下的Memcache安装 不用说了,这便是 memcached 在Windows系统下的版本。(点击这里下载memcached for win32)\nWindows下的Memcache安装:\n下载 memcache 的windows稳定版,解压放某个盘下面,比如在c:\\memcached\n在终端(也即cmd命令界面)下输入 ‘c:\\memcached\\memcached.exe -d install’ 安装\n再输入: ‘c:\\memcached\\memcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。\n4.下载 php_memcache.dll,请自己查找对应的php版本的文件\n在C:\\windows\\php.ini 加入一行 ‘extension=php_memcache.dll’ 6.重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!\n7.如果要卸载的话,可以执行c:\\memcached\\memcached.exe …"
September 24, 2008
memcached与memcache的区别
"memcached 像是一个后台服务器(也有客户端的memcached),memcache是php的一个模块,需要编译,像是一个客户端,memcached 和 memcache 是紧密结合的两个东西。\n另外memcached也是一个客户端的.这点可以参考php手册得知.两者的区别也可以参考:\n有关linux下memcache和memcached的安装方法请参考:\n================================\n说法一:\n两个不同版本的php的memcached的客户端\nnew memcache是pecl扩展库版本 new memcached是libmemcached版本 功能差不多.\n说法二:\nMemcache是什么?\nMemcache是一个自由和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。 它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。 Memcached是简单而强大的。它简单的设计促进迅速部署,易于发展 …"