1.加载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
2.创建memcached工具类:
01 |
public class MemcachedUtil { |
06 |
private static MemCachedClient cachedClient = new MemCachedClient();
|
13 |
SockIOPool pool = SockIOPool.getInstance();
|
16 |
String[] servers = {"127.0.0.1:11211"};
|
17 |
Integer[] weights = {3};
|
20 |
pool.setServers(servers);
|
21 |
pool.setWeights(weights);
|
23 |
//设置初始连接数、最小连接数、最大连接数、最大处理时间
|
26 |
pool.setMaxConn(1000);
|
27 |
pool.setMaxIdle(1000*60*60);
|
30 |
pool.setMaintSleep(60);
|
35 |
pool.setSocketConnectTO(0);
|
41 |
// cachedClient.setCompressEnable(true); |
42 |
// cachedClient.setCompressThreshold(1024*1024); |
45 |
private MemcachedUtil(){
|
48 |
public static boolean add(String key, Object value) {
|
49 |
return cachedClient.add(key, value);
|
52 |
public static boolean add(String key, Object value, Integer expire) {
|
53 |
return cachedClient.add(key, value, expire);
|
56 |
public static boolean put(String key, Object value) {
|
57 |
return cachedClient.set(key, value);
|
60 |
public static boolean put(String key, Object value, Integer expire) {
|
61 |
return cachedClient.set(key, value, expire);
|
64 |
public static boolean replace(String key, Object value) {
|
65 |
return cachedClient.replace(key, value);
|
68 |
public static boolean replace(String key, Object value, Integer expire) {
|
69 |
return cachedClient.replace(key, value, expire);
|
72 |
public static Object get(String key) {
|
73 |
return cachedClient.get(key);
|
3. 创建需要缓存的对象:
01 |
public class UserBean implements Serializable { |
03 |
private static final long serialVersionUID = 9174194101246733501L;
|
05 |
private String username;
|
07 |
private String password;
|
09 |
public UserBean(String username, String password) {
|
10 |
this.username = username;
|
11 |
this.password = password;
|
14 |
public String getUsername() {
|
18 |
public void setUsername(String username) {
|
19 |
this.username = username;
|
22 |
public String getPassword() {
|
26 |
public void setPassword(String password) {
|
27 |
this.password = password;
|
31 |
public int hashCode() {
|
34 |
result = prime * result
|
35 |
+ ((password == null) ? 0 : password.hashCode());
|
36 |
result = prime * result
|
37 |
+ ((username == null) ? 0 : username.hashCode());
|
42 |
public boolean equals(Object obj) {
|
47 |
if (getClass() != obj.getClass())
|
49 |
UserBean other = (UserBean) obj;
|
50 |
if (password == null) {
|
51 |
if (other.password != null)
|
53 |
} else if (!password.equals(other.password))
|
55 |
if (username == null) {
|
56 |
if (other.username != null)
|
58 |
} else if (!username.equals(other.username))
|
64 |
public String toString() {
|
65 |
return "username:" + username + ",password:" + password;
|
4.创建测试用例:
01 |
public class MemcachedUtilTest { |
04 |
public void testMemcached() {
|
05 |
MemcachedUtil.put("hello", "world", 60);
|
06 |
String hello = (String) MemcachedUtil.get("hello");
|
07 |
Assert.assertEquals("world", hello);
|
09 |
for(int i = 0; i < 10000000; ++i) {
|
10 |
UserBean userBean = new UserBean("Jason" + i, "123456-" + i);
|
11 |
MemcachedUtil.put("user" + i, userBean, 60);
|
12 |
Object obj = MemcachedUtil.get("user" + i);
|
13 |
Assert.assertEquals(userBean, obj);
|
5.通过spring注入memcached:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="memcachedPool" class="com.danga.MemCached.SockIOPool"
factory-method="getInstance" init-method="initialize">
<constructor-arg>
<value>neeaMemcachedPool</value>
</constructor-arg>
<property name="servers">
<list>
<value>127.0.0.1:11211</value>
</list>
</property>
<property name="initConn">
<value>20</value>
</property>
<property name="minConn">
<value>10</value>
</property>
<property name="maxConn">
<value>50</value>
</property>
<property name="nagle">
<value>false</value>
</property>
<property name="socketTO">
<value>3000</value>
</property>
</bean>
<bean id="memcachedClient" class="com.danga.MemCached.MemCachedClient">
<constructor-arg>
<value>neeaMemcachedPool</value>
</constructor-arg>
</bean>
</beans>
6.创建测试用例:
01 |
public class MemcachedSpringTest { |
03 |
private MemCachedClient cachedClient;
|
07 |
ApplicationContext context = new ClassPathXmlApplicationContext("com/loujinhe/config/beans.xml");
|
08 |
cachedClient = (MemCachedClient)context.getBean("memcachedClient");
|
12 |
public void testMemcachedSpring() {
|
13 |
UserBean user = new UserBean("lou", "jason");
|
14 |
cachedClient.set("user", user);
|
15 |
UserBean cachedBean = (UserBean)user;
|
16 |
Assert.assertEquals(user, cachedBean);
|
来自:http://blog.csdn.net/loujinhe/article/details/8491673
分享到:
相关推荐
javaWeb使用memcached的实例
java使用Memcached简单教程 java使用Memcached简单教程
java使用memcached demo
Java使用memcached重难点.pdf
教材Java使用memcached教学.pdf
Java使用memcached步骤(含源码及配置),测试通过,可以直接使用
java-memcached-2.6.6.jar
普通java工程测试连接memcached服务端
本文档主要讲述的是Java环境下Memcached应用详解;这里将介绍Java环境下Memcached应用,Memcached主要是集群环境下的缓存解决方案,希望本文对大家有所帮助。 本文将对在Java环境下Memcached应用进行详细介绍。...
memcache客户端jar包: 1,java_memcached-release_2.6.6.jar 2,commons-pool-1.5.6.jar 3,slf4j-api-1.6.1.jar 4,slf4j-simple-1.6.1.jar
java_memcached-release_2.6.2.jar java缓存工具 memcached
本资源含有基于java的memcached 的数据缓存开发所需的 memcached-1.2.1-win32.zip 和 java_memcached-release_1.6.zip 快来一起学习吧
java_memcached-release_2.0.1.jar。jdk5版本适用。使用log4j。
本篇文章主要介绍了java 使用memcached以及spring 配置memcached完整实例代码,具有一定的参考价值,有兴趣的可以了解一下
Memcached Cache现在已经被大家广泛使用,但是千万不要认为对Cache的操作是低损耗的,要知道这类集中式Cache对Socket连接数(会牵涉到linux操作系统文件句柄可用数),带宽,网络IO都是有要求的,有要求就意味着会有...
最新java_memcached-release_2.5.1.jar包
Java 配置Memcached 应用详解
java中连接memcached缓存服务器
Memcache java jar 包 java_memcached-release_2.5.1.jar
oracle掉用memcached,得用oracle调用java,java调用memcached