1.memcached是什么?
memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.
2.下载地址
http://www.danga.com/memcached/
3.安装
跟一般的linux软件安装一样 ./configure 然后 make,make install
需要一个库 libevent
下载地址:
http://www.monkey.org/~provos/libevent/
安装库后创建个链接
ln -s /usr/local/lib/libevent-1.3b.so.1 /lib/libevent-1.3b.so.1
4.启动
memcached -u nobody -d -m 50 -l 192.168.0.8 -p 10001
-u 指定用户
-m 指定缓存使用内存大小,只是测试,就用了50m
-l 指定ip地址
-p 指定端口
5.测试
memcached是一个数据源,所以与应用是独立的,理论上支持任何语言访问。现在已有的client库可在下面的地址得到:
http://www.danga.com/memcached/apis.bml
我们用java测试,jdk为1.6
java 代码
- import com.danga.MemCached.MemCachedClient;
- import com.danga.MemCached.SockIOPool;
-
- public class MemcacheTest {
-
-
-
- protected static MemCachedClient mcc = new MemCachedClient();
-
-
- static {
-
-
- String[] servers ={"192.168.0.8:10001"};
-
- Integer[] weights = { 3 };
-
-
- SockIOPool pool = SockIOPool.getInstance();
-
-
- pool.setServers( servers );
- pool.setWeights( weights );
-
-
-
-
-
- pool.setInitConn( 5 );
- pool.setMinConn( 5 );
- pool.setMaxConn( 250 );
- pool.setMaxIdle( 1000 * 60 * 60 * 6 );
-
-
-
-
- pool.setMaintSleep( 30 );
-
-
-
-
-
- pool.setNagle( false );
- pool.setSocketTO( 3000 );
- pool.setSocketConnectTO( 0 );
-
-
- pool.initialize();
-
-
-
-
- mcc.setCompressEnable( true );
- mcc.setCompressThreshold( 64 * 1024 );
- }
-
- public static void bulidCache(){
- mcc.set( "foo", "This is a test String" );
- TestObj obj = new TestObj();
- obj.setId(new Long(1));
- obj.setName("test");
- mcc.set("testObj", obj);
- }
-
-
- public static void output() {
-
- String bar = (String) mcc.get( "foo" );
- System.out.println(bar);
- TestObj obj = (TestObj)mcc.get("testObj");
- System.out.println(obj);
- }
-
- public static void main(String[] args){
- bulidCache();
- output();
- }
-
-
- }
java 代码
- import java.io.Serializable;
-
- public class TestObj implements Serializable {
-
-
-
-
- private static final long serialVersionUID = 1L;
- private String name;
- private Long id;
-
-
-
- public TestObj() {
- }
- public Long getId() {
- return id;
- }
- public void setId(Long id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
-
- public String toString(){
- return "id:"+this.getId()+";name:"+this.getName();
- }
- }
从faq上找了段代码,稍做改动。
运行,成功输出:
This is a test String
com.danga.MemCached.MemCachedClient Sat Jul 14 18:59:46 CST 2007 - ++++ deserializing class net.teamhot.memecache.TestObj
id:1;name:test
中间两行是日志。
把buildCache方法注释了,再运行,成功。
如果是两种语言共享cache,要注意对象的持久化方式。
6.可能遇到的问题
如果连接不成功请用telent测试服务器端口是否能连接通。连不通请更改服务器的防火墙设置,或者干脆把防火墙关闭了。
/etc/init.d/iptables stop
今天就到此为止。改天找几台服务器测试一下memcache的性能。
分享到:
相关推荐
安装Memcached及Memcached配置
这里需要解释说明一下,很多开发者觉得Memcached是一种分布式缓存系统,但是其实Memcached服务端本身是单实例的,只是在客户端实现过程中可以根据存储的主键做分区存储,而这个区就是Memcached服务端的一个或者多个...
Java 配置Memcached 应用详解
memcached缓存在spring中的配置
nginx配置文件,已配置完全+memcached,nginx+tomcat+memcached
安装Memcached及Memcached配置
详细介绍安装Memcached及Memcached配置
本人是UBUNTU 的操作系统,但是全部是用源码安装...apache+tomcat+memcached 全配置 apache+tomcat+memcached 全配置 apache+tomcat+memcached 全配置 apache+tomcat+memcached 集群 session 共享会话,apache负载均衡
memcached在SSH中的配置,以及memcached的服务端安装方法等。
Memcached安装配置及使用文档,来源于网络,仅供参考
memcached配置为服务,常见操作。
linux环境下memcached安装, 配置,以及配合tomcat 实现 session 工享。
安装Memcached及Memcached配置
tomcat7+nginx+memcached 配置tomcat 集群以及负载均衡所需要的msm jar包 亲测可用 msm 1.9.7版本 采用kryo序列化方式
记录的关于在centos上安装memcached的文档,给有需要的朋友
MemCached安装与配置图解(windows).pdf
apache+tomcat+memcached经试验是可以正确使用的。
php+memcached
Ubuntu Linux 下配置Memcached环境,有客户端测试代码,用的开发工具是Eclipse而不是MyEclipse