Memcached在很多时候多是作为数据库前端cache使用的.
最近一直在进行着项目的编码工作,在进行模块的功能实现过程中用到了数据库的缓存工具memcached(当然该工具并不仅仅局限于数据库的缓存).
首先简单的介绍下什么是Memcached.
Memcached是高性能的,分布式的内存对象缓存系统.用于在动态应用中减少数据库负载,提升访问速度.Memcached由Danga Interactive开发,
用于提升LiveJournal.com访问速度的.LJ每秒动态页面访问量几千次.用户700万.Memcached将数据负载大幅度降低,更好的分配资源,更快速访问.
下面从一个实际的例子来应用Memcached,
首先到http://danga.com/memcached/下载memcached的windows版本和java客户端jar包.分别解压后即可!首先是安装运行memcached服务器,将memcached解压后.进行其目录
然后运行如下命令:
c>memcached.exe -d install
c>memcached.exe -l 127.0.0.1 -m 32 -d start
第一行是安装memcached成为服务,这样才能正常运行,否则运行失败!第一行是启动memcached的,作为测试我们就简单的只分配32M内存了,然后监听本机端口和以守护进行.
执行完毕后,我们就可以在任务管理器中见到的memcached.exe这个进程.好了,我们的服务器已经正常运行了,
首先把memcached的jar文件复制到java项目的lib目录下
java代码:
package utils.cache;
import java.util.Date;
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
public class MemCached
{
//创建全局的唯一实例
private static MemCachedClient mcc = new MemCachedClient();
private static MemCached memCached = new MemCached();
//设置与缓存服务器的链接池
String[] servers = {"127.0.0.1:11211"};
lnteger[] 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);
//设置主线程的睡眠时间
pool.setMaintSleep(30);
//设置TCP的参数,连接超时等
pool.setNagle(false);
pool.setSocketTO(3000);
pool.setSocketConnectTO(0);
//初始化连接池
pool.initialize();
//压缩设置,超过指定大小(单位为K)的数据都会被压缩
mcc.setCompressEnable(true);
mcc.setCompressThreshold(64*1024);
}
//保护构造方法,不允许实例化
protected MemCached(){
}
//获得唯一实例
public static MemCached getInstance(){
return memCached;
}
public static void set(String name, Object value, Date expire) {
mcc.set(name, value, expire);
}
public static Object get(String name) {
return mcc.get(name);
}
public static Object delete(String name) {
return mcc.delete(name);
}
//添加一个方法来测试一把!!!
public static object set (String key, Object value){
return mcc.add(key, value);
}
public static void main(String[] args){
MemCached cache = MemCached.getInstance();
cache.add("Hello",234);
system.out.print("value:" + cache.get("Hello"));
}
}
分享到:
相关推荐
JAVA-memcached简单例子。
java 开发的一个简单的memcached实例
memcached程序,安装说明,以及简单代码实例
NULL 博文链接:https://stranger2008.iteye.com/blog/2042784
下面从一个实际的例子来应用memcached。 首先到http://danga.com/memcached/下载memcached的windows版本和java客户端jar包,目前最新版本是memcached-1.2.1-win32.zip和java_memcached-release_1.6.zip,分别解压后...
在很多场合,我们都会听到 memcached 这个名字,但很多同学只是听过,...这里简单介绍一下,memcached 是高效、快速的分布式内存对象缓存系统,主要用于加速WEB动态应用程序。今天我们就先来简单探讨下memcached的用法
一个简单的.Net使用Memcached的示例代码,采用Enyim做为客户端,将查询结果进行缓存,不含数据库,请参照代码建立数据库和一张简单的表,一百万条记录like检索由先前5000ms变为5ms,这个小例子体现了缓存在大型系统中...
1安装Memcached所需的文件;...3.运用Memcached的例子(需先按步骤把环境搭了,例子是vs2010环境下的,各位自行研究其方法);4.简单介绍Memcached的ppt。(其中例子和ppt是我们项目组内部培训用的,写的比较简单)
类包括Xmemcached客户端实现和builder实现以及memcached client for java实现,对初学者有借鉴作用,特别是在开发简单例子时出现的超时情况的可以看看是否是同本事例相同。 xmemcached time out 5000 1000
主要介绍了php+Memcached实现简单留言板功能,结合实例形式较为详细的分析了php结合memcached实现留言板的具体步骤与相关操作技巧,需要的朋友可以参考下
C++连接memcached服务的lib库,用vs2019打开sln工程文件直接可以编译取得lib库,简单方便实用,还有测试例子。适合运用C++操作memcached的开发工程师。
实用缓存操作类,可根据需求实例不同的类 操作简单 实用
此实用工具的目的是减少你的管理任务时,部署和维护一个运行中的...不适用于非Windows Memcached的实例。 需要安装WMI来和所有的机器,你想管理运行。 需要在任何一台机器,你想管理的管理权限。 (模拟支持)。
一个简单的CLI实用程序,用于向Memcached服务器发出一次性命令 用法 Usage: mccli [-s server_ip] COMMAND Options: -s, --server Server address to connect to [default: "127.0.0.1"] -h, --help Show help ...
6.保证对应关系的简单性:一个mysql表对应一个 redis实例(redis单线程,多实例保证分流不阻塞),关联关系数据交给接口业务 数据:mysql->binlog->MQ->redis(不过期、关闭RDB、AOF保证读写性能) (nosql数据仅用...
简单的命令行工具,用于通过二进制协议与安全的memcached实例进行交互。 # ./memccli --help ./memccli: unrecognized option '--help' Supported options: --host , -h --port , -P --snd-timeout-us , -r ...
一个在linux下实现Memcached命令的例子,用C++实现,并利用了libevent.
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...