自己怎么做网站的聚合页面,免费域名申请,杭州小程序开发定制,wordpress博客迁移摘要#xff1a;最近在看《大型分布式网站架构设计与实践》这本书#xff0c;把其中的学习过程记录一下#xff0c;以便日后复习。 一#xff1a;Memcached简单介绍和描述#xff1a;
Memcached 是一个高性能的分布式内存对象缓存系统#xff0c;用于动态Web应用以减轻数…摘要最近在看《大型分布式网站架构设计与实践》这本书把其中的学习过程记录一下以便日后复习。 一Memcached简单介绍和描述
Memcached 是一个高性能的分布式内存对象缓存系统用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数 从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程daemon 是用C写的但是客户端可以用任何语言来编写 并通过memcached协议与守护进程通信。 Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据.简单的说就是将数据调用到 内存中然后从内存中读取从而大大提高读取速度。 二Memcached的工作原理
工作原理: ①.客户端第一次访问应用程序时会到数据库RDBMS中取出数据返回给客户端同时也将取出的数据保存到memcached中。 ②.第二次访问时因为数据已经缓存不不用去数据库查询了直接从memcached取。 那么memcached的快速和高效率是如何体现出来的呢我们都清楚RDBMS是文件型的数据库最终还是以文件的形式保存在磁盘上。而memcached则不一样 它是key:value关系型的数据库是保存在内存中的。那么就不用我再做说明了内存的读写速度要比磁盘的读写速度快得多前者是后者的10的6次方倍。
http://blog.rekfan.com/?p172 Memcached支持Linux系统也支持Windows系统分别需要不同的安装包鉴于在Windows使用比较少所以散仙今天就总结一下在Centos下安装Memcached 的整个流程一方面是为了记录一下防止日后生疏另一方面也为刚刚使用Memcached的朋友们提供一份入门的教程。 下面进入正题
首先memcached是基于libevent的所以确保你的系统已经装了libeventlibevent是个程序库它将Linux的epoll、BSD类操作系统的kqueue等事件处理 功能封装成统一的接口。即使对服务器的连接数增加也能发挥O(1)的性能。 memcached使用这个libevent库因此能在Linux、BSD、Solaris等操作系统上 发挥其高性能。 由于memcached和libevent是由C编写的所以首先确保你的系统安装了gcc如果 没有安装使用yum安装即可 命令 yum -y install gcc yum -y install gcc-c 然后下载 libevent 然后上传centos进行给予权限然后解压 # tar xzvf libevent-2.0.21-stable.tar.gz ##解压 # cd libevent-2.0.21-stable # ./configure --prefix/usr # make # make install 安装完后可以查看下/usr/lib是否有libevent等文件(ls -al /usr/lib | grep libevent) 然后下载 memcached # tar xzvf memcached-1.4.15.tar.gz # cd memcached-1.4.15 # ./configure --with-libevent/usr # make # make install 安装结果(ls -al /usr/local/bin/memcached)如图3: 关于memcache启动的一些参数说明 memcached命令参数解释: -p num 监听的端口 -l ip_addr 连接的IP地址, 默认是本机 -d start 启动memcached 服务 -d restart 重起memcached 服务 -d stop|shutdown 关闭正在运行的memcached 服务 -d install 安装memcached 服务 -d uninstall 卸载memcached 服务 -u username 以username的身份运行 (仅在以root运行的时候有效) -m num 最大内存使用单位MB。默认64MB -M 内存耗尽时返回错误而不是删除项 -c num 最大同时连接数默认是1024 -f factor 块大小增长因子默认是1.25 -n bytes 最小分配空间keyvalueflags默认是48 -h 显示帮助 然后执行命令启动memcached #/usr/local/bin/memcached -d -m 1024 -u root -p 11211 -P /tmp/memcached.pid 然后就可以使用telnet来测试memcache的连接状态 如果没有安装telnet服务可以执行 yum install telnet-server 安装服务 yum install telnet 安装命令 然后编辑vi /etc/xinetd.d/telnet 文件激活telnet默认是禁用的截图如下4 然后重启服务执行命令 service xinetd restart 然后就可以测试memcached的连接执行命令 telnet 127.0.0.1 11211 输入stats会输出memcache的一些连接信息包括PID 如果需要退出则执行quit命令即可截图如下5 退出telnet执行quit命令即可上图所示的memcached进程ID很重要如果我们需要关闭memcached服务时就可以执行命令kill -9 进程号 即可。 最后我们在来看下如何使用JAVA API简单的来测试下memcached注意如果memcached的端口号需要对外开放否则将会出现连接不上的异常测试环境我们可以把防火墙关闭测试 用到的jar包如下所示截图6 控制台打印内容如下所示 2014-03-18 18:13:30.008 INFO net.spy.memcached.MemcachedConnection: Added {QA sa/192.168.75.130:11211, #Rops0, #Wops0, #iq0, topRopnull, topWopnull, toWrite0, interested0} to connect queue 2014-03-18 18:13:30.011 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl33c3e6 1111测试memcache成功了吧 2014-03-18 18:13:30.020 INFO net.spy.memcached.MemcachedClient: Shut down memcached client 至此我们已经安装测试成功了最后把memcached的JAVA API所用到的工程和jar上传上来方便大家测试下载连接如下
http://download.csdn.net/detail/sxdtzhaoxinguo/9529017 参考地址http://www.tuicool.com/articles/qYJBVb