在服务器端安装了MemCached服务过后我们就可以使用第三方缓存技术MemCached,这个使用比较简单,
在系统初始化的时候就可以加载缓存
public class CacheService {
boolean cacheUse;
// 指定memcached服务地址
String[] cacheServerList;
// 设置初始连接数100
int initialConnections = 100;
// 最小连接数 5
int minSpareConnections = 5;
// 最大连接数 50
int maxSpareConnections = 50;
// 设置一个连接最大空闲时间30分钟
long maxIdleTime = 1000 * 60 * 30;
// 设置主线程睡眠时间 5分钟
long maxBusyTime = 1000 * 60 * 5;
// 每隔5秒醒来
long maintThreadSleep = 1000 * 5;
// 设置 读取 超时10秒钟
int socketTimeOut = 1000 * 10;
// 不设置连接超时
int socketConnectTO = 0;
// 关闭nagle算法
boolean nagleAlg = false;
// pool
MemCachedClient mc;
public CacheService() {
}
public String[] getCacheServerList() {
return cacheServerList;
}
public void setCacheServerList(String[] cacheServerList) {
this.cacheServerList = cacheServerList;
}
public boolean isCacheUse() {
return cacheUse;
}
public void setCacheUse(boolean cacheUse) {
this.cacheUse = cacheUse;
}
/**
* 放入
*
*/
public void put(String key, Object obj) {
Assert.hasText(key);
Assert.notNull(obj);
mc.set(key, obj);
}
/**
* 放入 EXPIRY=10000 >> 10秒,小于10秒则说明永不过期 EXPIRY=3600000 >> 60分钟 new
* Date(3600000)
*/
public void put(String key, Object obj, Date expiry) {
Assert.hasText(key);
Assert.notNull(obj);
mc.set(key, obj, expiry);
}
/**
* 删除
*/
public void remove(String key) {
Assert.hasText(key);
mc.delete(key);
}
/**
* 得到
*/
public Object get(String key) {
Assert.hasText(key);
return mc.get(key);
}
/**
* 得到
*/
public Map<String, Object> get(String[] keys) {
// Assert.notEmpty(keys);
return mc.getMulti(keys);
}
/**
* 判断是否存在
*
*/
public boolean exist(String key) {
Assert.hasText(key);
return mc.keyExists(key);
}
/**
* 清理所有数据缓存
*/
public void clear() {
mc.flushAll();
}
/**
* 系统启动的时候初始化cache
*/
public void init() throws Exception {
if (cacheUse == true) {
try {
SockIOPool pool = SockIOPool.getInstance();
pool.setServers(cacheServerList);
pool.setInitConn(initialConnections);
pool.setMinConn(minSpareConnections);
pool.setMaxConn(maxSpareConnections);
pool.setMaxIdle(maxIdleTime);
pool.setMaxBusyTime(maxBusyTime);
pool.setMaintSleep(maintThreadSleep);
pool.setSocketTO(socketTimeOut);
pool.setSocketConnectTO(socketConnectTO);
pool.setNagle(nagleAlg);
pool.setHashingAlg(SockIOPool.NEW_COMPAT_HASH);
// 开始初始化 连接池
pool.initialize();
} catch (Exception e) {
e.printStackTrace();
}
}
mc = new MemCachedClient();
}
}
在properties中配置,在spring启动的时候加载,就会调用该缓存。
cache.properties:
##是否使用缓存服务器
cache.use=true
##缓存服务器IP
cache.memecahed.ip=127.0.0.1:11211
分享到:
相关推荐
2. Memcached缓存原理: Memcached是一种基于内存的键值存储系统,用于存储临时数据,以减轻数据库的压力。它将数据存储在内存中,读取速度快,但数据不持久化,一旦服务器重启,所有数据将丢失。Memcached采用...
**Memcached缓存系统详解与应用实践** Memcached是一款高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。它通过将数据存储在内存中,使得数据的读取速度大大提高,...
【PHP Memcached缓存技术详解】 在Web开发中,数据缓存是一种常用的技术手段,用于提升网站性能,减少数据库负载。PHP Memcached扩展是PHP与Memcached缓存服务器交互的一个接口,它允许开发者将数据存储在内存中,...
标题 "使用Spring AOP对Web应用数据进行Memcached缓存" 涉及到的关键技术是Spring AOP(面向切面编程)和Memcached,这是一种常见的高性能、分布式内存对象缓存系统。在Web应用程序中,使用缓存可以显著提高数据访问...
**Memcached缓存机制详解与应用优化** Memcached是一款高性能、分布式的内存对象缓存系统,主要用于加速Web应用程序,通过将数据存储在内存中,减少对数据库的直接访问,从而提高系统的响应速度和效率。Memcached的...
搭建Memcached缓存服务器1 Memcached是一种高性能的缓存服务器,通常用于加速动态网页和减少数据库的负载。在本文中,我们将详细介绍如何搭建Memcached缓存服务器。 标题解释 Memcached缓存服务器是一种流行的缓存...
memcached 缓存 jar包,tomcat共享缓存可用,java开发数据库缓存也可用。
**memcached缓存处理** **一、什么是memcached** `memcached`是一个高性能、分布式内存对象缓存系统,用于在动态系统中减少数据库负载。它通过将数据存储在内存中来加速读取操作,而不是每次请求都去查询数据库。...
在本示例中,我们将探讨如何使用Memcached缓存图片,以提升图片加载速度和整个网站的响应性能。 首先,了解Memcached的基本概念是必要的。Memcached基于键值对(key-value pairs)工作,允许用户存储任何序列化对象...
**PHP与Memcached缓存** Memcached是一款高性能、分布式内存对象缓存系统,它被广泛应用于Web应用中,用于减轻数据库的负载,提高网站的响应速度。PHP与Memcached的结合,使得开发者能够轻松地在PHP应用中实现数据...
**Memcached缓存服务器详解** Memcached是一款高性能、分布式内存对象缓存系统,它被广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。这个“memcached缓存服务器”压缩包提供的版本是1.2.1,适用于...
.NET C# Memcached 缓存获取所有缓存键的方法步骤 在软件开发中,缓存机制是提高系统性能和减少数据库访问频次的重要手段之一。Memcached 是一种流行的分布式缓存系统,广泛应用于各种 Web 应用程序中。.NET 平台下...
这里需要解释说明一下,很多开发者觉得Memcached是一种分布式缓存系统,但是其实Memcached服务端本身是单实例的,只是在客户端实现过程中可以根据存储的主键做分区存储,而这个区就是Memcached服务端的一个或者多个...
Memcached 缓存安装配置 Memcached 是一个自由开源的高速缓存系统,可以用来加速动态Web应用程序中的数据访问速度。本文将指导您如何安装和配置 Memcached,并介绍 Memcached 的基本概念和参数。 一、安装 ...
SSM整合Memcached缓存是将Spring、SpringMVC和MyBatis这三大Java Web开发框架与Memcached相结合,以实现高效的数据缓存功能。Memcached是一款轻量级的分布式内存对象缓存系统,用于减少数据库负载,提高应用程序性能...
Memcached 缓存编程实战 Memcached 是一个开源的、基于内存的缓存系统,用于提高动态网页的速度和效率。下面对 Memcached 缓存编程实战的知识点进行详细的解释和分析。 Memcached 介绍 Memcached 是一个高性能的...
**Memcached缓存技术代码版** Memcached是一种高性能、分布式内存对象缓存系统,它能够通过减少数据库负载来加速动态Web应用。这个“memcached缓存技术代码版”可能包含了使用Java语言在Eclipse开发环境中实现...
**memcached缓存数据库jar包** `memcached`是一种高性能、分布式内存对象缓存系统,它广泛用于减轻数据库负载,提高Web应用的响应速度。它通过在内存中存储数据,提供快速的数据访问,从而减少了对数据库的直接访问...
**Memcached缓存技术详解** Memcached是一款高性能的分布式内存对象缓存系统,它被广泛应用于Web应用中,用于缓解数据库的压力,提高数据访问速度。本文将深入探讨Memcached的基本概念、工作原理、安装配置、使用...