Memcache 初体验
来源:互联网 发布:什么题库软件好 编辑:程序博客网 时间:2024/06/04 18:39
1:下载安装
wget http://memcached.org/files/memcached-1.4.20.tar.gz
依赖库
wget http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.17-stable.tar.gz
2:启动memcached
/usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,
想开机自动启动的话,只需在/etc/rc.d/rc.local中加入一行,上面命令
有人用以下命令:
/usr/local/memcached/bin/memcached -d -m 20 -p 11211 -u apache
上面有些东西可以参考一下:即,ip不指定时,默认是本机,用户,最好选择是:apache 或 deamon
这样,也就是属于哪个用户的服务,由哪个用户启动。
转自:
http://www.cnblogs.com/technet/archive/2011/09/11/2173485.html
测试代码:
package com.danga.MemCached.test;import java.util.Date;import com.danga.MemCached.MemCachedClient;import com.danga.MemCached.SockIOPool;public class MemCachedManager {protected static MemCachedClient mcc = new MemCachedClient();protected static MemCachedManager memCachedManager = new MemCachedManager(); /** * 获取唯一实例. * * @return */ public static MemCachedManager getInstance() { return memCachedManager; } static {// 服务器列表和其权重String[] servers = { "192.168.10.69:12000" };Integer[] weights = { 3 };// 获取socke连接池的实例对象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);// Tcp的规则就是在发送一个包之前,本地机器会等待远程主机// 对上一次发送的包的确认信息到来;这个方法就可以关闭套接字的缓存,// 以至这个包准备好了就发;pool.setNagle(false);// 连接建立后对超时的控制pool.setSocketTO(3000);// 连接建立时对超时的控制pool.setSocketConnectTO(0);// initialize the connection pool// 初始化一些值并与MemcachedServer段建立连接pool.initialize();// lets set some compression on for the client// compress anything larger than 64kmcc.setCompressEnable(true);mcc.setCompressThreshold(64 * 1024);} /** * 添加一个指定的值到缓存中. * * @param key * @param value * @return */ public boolean add(String key, Object value) { return mcc.add(key, value); } public boolean add(String key, Object value, Date expiry) { return mcc.add(key, value, expiry); } public boolean replace(String key, Object value) { return mcc.replace(key, value); } public boolean replace(String key, Object value, Date expiry) { return mcc.replace(key, value, expiry); } /** * 根据指定的关键字获取对象. * * @param key * @return */ public Object get(String key) { return mcc.get(key); } public static void main(String[] args) { MemCachedManager cache = MemCachedManager.getInstance(); // cache.add("test", 234); System.out.println(cache.get("test"));;}}
- Memcache 初体验
- Memcache
- MemCache
- Memcache
- Memcache
- Memcache
- memcache
- Memcache
- Memcache
- memcache
- memcache
- memcache
- memcache
- Memcache
- MemCache
- memcache
- memcache
- Memcache
- 线程安全的单例模式
- Code-First Migration and Extending Identity Accounts in ASP.NET MVC 5 and Visual Studio 2013
- PHP提高编程效率的方法
- Kernel 启动参数解析
- java中static关键字
- Memcache 初体验
- 昨晚看泰坦尼克号首映的唯一亮点,就是Rose脱了一半快完时镜头突然被切换,全场异口同声的那句:草!
- 分布式服务框架 Zookeeper -- 管理分布式环境中的数据
- hdu1085
- 天购:让“免费”的理念成功起航
- Java 中 Vector、ArrayList、List 使用深入剖析
- Linux __setup解析
- 6今晚5j6w
- mesa3d编译