`
bmladmin
  • 浏览: 30630 次
  • 性别: Icon_minigender_1
  • 来自: 四川成都
社区版块
存档分类
最新评论

MemCached缓存

 
阅读更多

在服务器端安装了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

分享到:
评论

相关推荐

    php memcached缓存操作类

    2. Memcached缓存原理: Memcached是一种基于内存的键值存储系统,用于存储临时数据,以减轻数据库的压力。它将数据存储在内存中,读取速度快,但数据不持久化,一旦服务器重启,所有数据将丢失。Memcached采用...

    memcached缓存使用演示

    **Memcached缓存系统详解与应用实践** Memcached是一款高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。它通过将数据存储在内存中,使得数据的读取速度大大提高,...

    韩顺平 PHP Memcached缓存技术资料源码笔记图解PPT_Ady

    【PHP Memcached缓存技术详解】 在Web开发中,数据缓存是一种常用的技术手段,用于提升网站性能,减少数据库负载。PHP Memcached扩展是PHP与Memcached缓存服务器交互的一个接口,它允许开发者将数据存储在内存中,...

    使用spring aop对web 应用数据进行memcached缓存

    标题 "使用Spring AOP对Web应用数据进行Memcached缓存" 涉及到的关键技术是Spring AOP(面向切面编程)和Memcached,这是一种常见的高性能、分布式内存对象缓存系统。在Web应用程序中,使用缓存可以显著提高数据访问...

    Memcached缓存机制 用好Cache,优化应用

    **Memcached缓存机制详解与应用优化** Memcached是一款高性能、分布式的内存对象缓存系统,主要用于加速Web应用程序,通过将数据存储在内存中,减少对数据库的直接访问,从而提高系统的响应速度和效率。Memcached的...

    搭建Memcached缓存服务器1

    搭建Memcached缓存服务器1 Memcached是一种高性能的缓存服务器,通常用于加速动态网页和减少数据库的负载。在本文中,我们将详细介绍如何搭建Memcached缓存服务器。 标题解释 Memcached缓存服务器是一种流行的缓存...

    memcached缓存

    memcached 缓存 jar包,tomcat共享缓存可用,java开发数据库缓存也可用。

    memcached缓存处理

    **memcached缓存处理** **一、什么是memcached** `memcached`是一个高性能、分布式内存对象缓存系统,用于在动态系统中减少数据库负载。它通过将数据存储在内存中来加速读取操作,而不是每次请求都去查询数据库。...

    memcached 缓存图片

    在本示例中,我们将探讨如何使用Memcached缓存图片,以提升图片加载速度和整个网站的响应性能。 首先,了解Memcached的基本概念是必要的。Memcached基于键值对(key-value pairs)工作,允许用户存储任何序列化对象...

    php memcached 缓存

    **PHP与Memcached缓存** Memcached是一款高性能、分布式内存对象缓存系统,它被广泛应用于Web应用中,用于减轻数据库的负载,提高网站的响应速度。PHP与Memcached的结合,使得开发者能够轻松地在PHP应用中实现数据...

    memcached缓存服务器

    **Memcached缓存服务器详解** Memcached是一款高性能、分布式内存对象缓存系统,它被广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。这个“memcached缓存服务器”压缩包提供的版本是1.2.1,适用于...

    .net c# memcached缓存获取所有缓存键的方法步骤.docx

    .NET C# Memcached 缓存获取所有缓存键的方法步骤 在软件开发中,缓存机制是提高系统性能和减少数据库访问频次的重要手段之一。Memcached 是一种流行的分布式缓存系统,广泛应用于各种 Web 应用程序中。.NET 平台下...

    MemCached 缓存系统配置说明

    这里需要解释说明一下,很多开发者觉得Memcached是一种分布式缓存系统,但是其实Memcached服务端本身是单实例的,只是在客户端实现过程中可以根据存储的主键做分区存储,而这个区就是Memcached服务端的一个或者多个...

    memcached缓存安装配置.pptx

    Memcached 缓存安装配置 Memcached 是一个自由开源的高速缓存系统,可以用来加速动态Web应用程序中的数据访问速度。本文将指导您如何安装和配置 Memcached,并介绍 Memcached 的基本概念和参数。 一、安装 ...

    SSM整合memcached缓存

    SSM整合Memcached缓存是将Spring、SpringMVC和MyBatis这三大Java Web开发框架与Memcached相结合,以实现高效的数据缓存功能。Memcached是一款轻量级的分布式内存对象缓存系统,用于减少数据库负载,提高应用程序性能...

    memcached缓存编程实战.pptx

    Memcached 缓存编程实战 Memcached 是一个开源的、基于内存的缓存系统,用于提高动态网页的速度和效率。下面对 Memcached 缓存编程实战的知识点进行详细的解释和分析。 Memcached 介绍 Memcached 是一个高性能的...

    memcached缓存技术代码版

    **Memcached缓存技术代码版** Memcached是一种高性能、分布式内存对象缓存系统,它能够通过减少数据库负载来加速动态Web应用。这个“memcached缓存技术代码版”可能包含了使用Java语言在Eclipse开发环境中实现...

    memcached缓存数据库jar包

    **memcached缓存数据库jar包** `memcached`是一种高性能、分布式内存对象缓存系统,它广泛用于减轻数据库负载,提高Web应用的响应速度。它通过在内存中存储数据,提供快速的数据访问,从而减少了对数据库的直接访问...

    Memcached缓存技术资料源码

    **Memcached缓存技术详解** Memcached是一款高性能的分布式内存对象缓存系统,它被广泛应用于Web应用中,用于缓解数据库的压力,提高数据访问速度。本文将深入探讨Memcached的基本概念、工作原理、安装配置、使用...

Global site tag (gtag.js) - Google Analytics