Java_memcached-release 安装 原理 实例
一、了解和使用使用安装memcached
在这一块已经有车了,就不再造了。
一个日本君写的:长野雅广memcached-全面剖析.pdf
heiyeluren(黑夜路人) Memcached-原理和使用详解.pdf
二、java memcached客启端的调用
2.1 下载客户端jar包 java_memcached-release_X.x.jar
https://github.com/gwhalin/Memcached-Java-Client可下载最新
三、简单Demo
建工程、拷jar包、再拷下面代码。
package com.ea.online.memcache;
import java.util.Date;
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
public class SimpleMemCachedClient {
protected static MemCachedClient mcc = new MemCachedClient();
protected static SockIOPool sUpool = null;
static {
String[] servers = { "localhost:11211" };
Integer[] weights = { 3, 3, 2 };
sUpool = SockIOPool.getInstance();
sUpool.setServers(servers);
sUpool.setWeights(weights);
sUpool.setMaintSleep(30);
sUpool.setNagle(false);
sUpool.setSocketTO(3000);
sUpool.setSocketConnectTO(0);
sUpool.initialize();
}
public static void main(String[] args) {
mcc.set("testKey", "This is a test String",
new Date(new Date().getTime() + 10000));// 过期时间为10秒
String bar = mcc.get("testKey").toString();
System.out.println("testKey-->" + bar);
while (true) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(mcc.get("testKey"));
}
}
}
Demo 成功后就讲 下面两个类的一些设置参数:SockIOPool、MemCachedClient
四、SockIOPool 是socket连接池类
setServers(String[] servers):设置服务器信息数组; setWeights(String[] weights):设置服务器权重数组; setInitConn(int count):设置初始连接数; setMinConn(int minConn):设置最小连接数; setMaxConn(int maxConn):设置最大连接数; setMaxIdle(long arg0):设置最大处理时间; setMaintSleep(long arg0):主线程的睡眠时间; initialize():初始化连接池。 |
五、MemCachedClient类及其常用方法
add(String key, Object value):添加一个键值对到缓存中; add(String key, Object value,Date expires):添加一个键值对到缓存中,并设置其超时时间; set(String key, Object value):在缓存中设置一个键的值; set(String key, Object value, Date expires):在缓存中设置一个键的值,并设置其超时时间; get(String key):获得某个键的值。 incr(String key):为某个键上的值执行+1操作; decr(String key):为某个键上的值执行-1操作; replace(String key, String value):将某个键的值替换成新的值; replace(String key, String value, Date expires):将某个键的值替换成新的值,并设置其超时时间。 |
六、Memcached 优化
可以参考: hyj_dx http://hyj-dx.iteye.com/blog/305161
1、客户端在与 memcached 服务建立连接之后,进行存取对象的操作,每个被存取的对象都有一个唯一的标识符 key,存取操作均通过这个 key 进行,保存到 memcached 中的对象实际上是放置内存中的,并不是保存在 cache 文件中的,这也是为什么 memcached 能够如此高效快速的原因。注意,这些对象并不是持久的,服务停止之后,里边的数据就会丢失。
2、当存入cached的数据超过了cached的容量后会将最长时间没调用的对象挤出,这正好应征了cached的特征。
3、利用memcached常用的做法:在每取得一次cached对象后,重新设置这个对象的cache时间,这样能够使得经常被调用的对象可以长期滞留在缓存中,使得效率增倍。
memcached 技术配置参数研究
failover表示对于服务器出现问题时的自动修复。
initConn初始的时候连接数,
minConn表示最小闲置连接数,
maxConn最大连接数,
maintSleep表示是否需要延时结束
nagle是TCP对于socket创建的算法,
socketTO是socket连接超时时间,
aliveCheck表示心跳检查,确定服务器的状态。
Servers是memcached服务端开的地址和ip列表字符串,
weights是上面服务器的权重,必须数量一致,否则权重无效
可从以下几方面考虑优化
1. 重新设置配置参数。
2. 尽量使用小容量的数据内容.
3. 增加memcached提高服务获取的内存总量、提高命中率。
4. 可以采用多个memcache服务进行侦听,分开处理,针对服务提供的频繁度划分服务内存
5. 根据服务器的性能不同设置权重 weights
6. 对需要使用memcache服务的机器ip,服务端做访问限制。
避免memcached里的数据不会被别有心意的人再利用,或责保证服务器的内存不被漫天遍地的垃圾数据所堆积,造成命中极低
7. 优化memcached客户端的代码。
、、、、、、、、、、
七、小技巧
h 显示帮助
-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认为64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认为1024
-f 块大小增长因子,默认为1.25
-n 最小分配空间,key+value+flags默认为48
----------------------------
memcached是以KEY-VALUE的方式进行数据存储的
KEY的大小限制:Key(max)<=250个字符;
VALUE在存储时有限制:Value(max)<= 1M;
memcached默认过期时间:ExpiresTime(max)= 30(days)。
--------------------------------
附件在我的资源中有
参考资料 http://blog.charlee.li/memcached-pdf/
相关推荐
`memcached-1.2.1-win32.zip` 提供了Memcached服务端,而`java_memcached-release_1.6.zip` 提供了Java客户端,使得开发者能够轻松地在Java环境中集成和使用Memcached。学习和掌握这些资源,将有助于构建更加快速、...
`MemCachedManager.java`可能是库中的一个类,用于管理Memcached实例,帮助用户更方便地连接、操作和管理缓存。 这个库的核心功能包括: 1. **连接管理**:库提供了一种方式来建立和维护到Memcached服务器的连接。...
这个`java_memcached-release_2.6.3.rar`压缩包包含了用于Java客户端开发所需的全部依赖库,使得开发者能够轻松地在Java应用中集成Memcached功能。 1. **Memcached**:Memcached是一个高性能、分布式的内存对象缓存...
在标题和描述中提到的`java_memcached-release_2.6.6.jar`是这个库的特定版本,它包含了实现Memcached协议并与之通信所需的所有Java类和方法。这个版本可能是对早期版本的更新,可能包括性能改进、新功能或错误修复...
2. **java_memcached-release_2.6.3.jar**:这是Java Memcached客户端的核心库文件,包含了所有必要的类和方法,使得Java应用能够与Memcached服务器通信。这个库提供了API,让开发者可以方便地进行数据的存取、删除...
标题“java_memcached-release_1.6.zip”表明这是一个Java Memcached的版本1.6的发布包,通常包含了该版本的所有源码、编译后的jar文件以及相关的文档。用户可以通过解压这个zip文件来获取所需的内容,以便在自己的...
4. **README** 文件:通常包含软件的安装、配置和使用说明,对于理解如何在项目中集成 `memcached-release_2.6.5` 包至关重要。 为了在Java项目中使用 Memcached,你需要按照以下步骤操作: 1. 添加依赖:将上述...
2. **连接Memcached服务器**:使用Spymemcached库(通常包含在java_memcached-release_2.6.6.jar中),你可以创建一个Memcached客户端实例,连接到服务器。例如: ```java MemcachedClient client = new Memcached...
在这个“memcached jar包”中,包含了两个Java版本的Memcached客户端库,即`java_memcached-2.0.jar`和`java_spymemcached-2.5.1.jar`(描述中的`java_memcached-release_2.5.1.jar`可能是`java_spymemcached-2.5.1....
**java_memcached-release_2.6.6.jar** 是Java版本的memcached客户端库,它允许Java应用与memcached服务器进行通信。这个库提供了API,让开发者可以轻松地将数据存储和检索到memcached中。例如,它可以实现基本的set...
在提供的压缩包中,包含了`java_memcached-release_2.6.6.jar`,这是一个Java客户端库,允许Java应用程序与memcached服务器通信。 1. **添加依赖**:将`java_memcached-release_2.6.6.jar`添加到你的项目类路径中,...
《深入理解Memcached 2.2.0RC1版本》 Memcached,作为一个高效、...通过理解和掌握memcached的工作原理、安装部署以及客户端的使用,开发人员可以充分利用这个强大的缓存系统,为自己的项目带来更高的效率和稳定性。
`java_memcached-release_2.0.1.jar`是Java语言访问memcached服务的客户端库,例如XMemcached或spymemcached。这个库提供了API,让Java开发者能够方便地将数据存入或从memcached中取出。使用此库,开发者可以设置、...
使用Java Memcached客户端的关键在于了解如何连接到Memcached服务器,创建客户端实例,存储和检索键值对。例如,你可以使用`XMemcachedClientBuilder`来创建客户端,然后调用`set`方法存储数据,`get`方法获取数据。...
`java_memcached-release_2.6.3.jar`是Java版本的Memcached客户端库,它提供了与Memcached服务器交互的接口和实现。这个版本的客户端库对性能进行了优化,支持多种操作,如设置、获取、删除和批量操作等,以满足不同...
此套架构整合了springboot+memcached+mybatis+shiro+webservice的聚合式...请把解压后的java_memcached-release_2.6.3.jar和commons-pool-1.5.6.jar 安装到本地maven库或者直接引入项目,在阿里镜像里拉不到这两个包。
`java_memcached-release_2.0.1.jar`是Java客户端库,允许Java应用程序与Memcached交互。引入该库后,可以轻松地在Java应用中使用Memcached。 1. 将`java_memcached-release_2.0.1.jar`添加到项目的类路径中。 2. ...
总的来说,`java_memcached-release_2.6.3`是Java开发者与Memcached进行交互的重要工具,通过它,我们可以轻松地在Java应用中集成高效的缓存机制,提升整体系统的性能。这个库不仅提供了基本的缓存操作,还考虑到了...
首先,我们需要引入相关的依赖库,包括`commons-pool-1.5.6.jar`、`java_memcached-release_2.6.6.jar`、`slf4j-api-1.6.1.jar`和`slf4j-simple-1.6.1.jar`。这些库提供了连接池管理和日志记录等功能,使得与...
这里我们以`java_memcached-release_2.6.6.jar`为例,这个库允许Java应用无缝地与memcached交互。 - **连接与操作**:通过创建MemcachedClient实例,设置服务器地址和端口,我们可以进行数据的存取操作。例如,使用`...