java本機快取和redis緩衝

來源:互聯網
上載者:User

標籤:error   mob   get   live   etc   緩衝   package   ice   nts   

  本機快取

本機快取儲存在記憶體當中,實現緩衝如下

首先需要引入包

 

<dependency>    <groupId>net.sf.ehcache</groupId>    <artifactId>ehcache</artifactId>    <version>2.10.1</version></dependency>

 

 

快取服務介面:
package com.mobcb.platform.service.common;import net.sf.ehcache.Cache;public interface EhcacheService {    public void clearCache(String cacheName, String cacheKey);    public void putCache(String cacheName, String cacheKey, Object value);    public Object getCacheValue(String cacheName, String cacheKey);    public Cache getCache(String cacheName);    /**     * 設定緩衝     *     * @param cacheName         緩衝名稱     * @param cacheKey          緩衝key     * @param value             值     * @param timeToLiveSeconds 存在時間,單位秒     */    public void putCache(String cacheName, String cacheKey, Object value,            int timeToLiveSeconds);}
EhcacheService 介面實現:
package com.mobcb.platform.service.impl.common;import com.mobcb.platform.service.common.EhcacheService;import javax.annotation.Resource;import net.sf.ehcache.Cache;import net.sf.ehcache.CacheManager;import net.sf.ehcache.Element;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.springframework.stereotype.Service;@Service("ehcacheService")public class EhcacheServiceImpl implements EhcacheService {    private static Log logger = LogFactory.getLog(EhcacheServiceImpl.class);    @Resource(name = "ehCacheManager")    private CacheManager cacheManger;    private boolean createCacheIfNotFound = true;    @Override    public void clearCache(String cacheName, String cacheKey) {        Cache cache = getCache(cacheName);        if (cache == null) {            return;        }        cache.remove(cacheKey);    }    @Override    public void putCache(String cacheName, String cacheKey, Object value) {        Cache cache = getCache(cacheName);        if (cache == null) {            return;        }        cache.put(new Element(cacheKey, value));    }    @Override    public Object getCacheValue(String cacheName, String cacheKey) {        Cache cache = getCache(cacheName);        if (cache == null) {            return null;        }        Element element = cache.get(cacheKey);        if (element == null || element.isExpired()) {            return null;        }        return element.getObjectValue();    }    @Override    public Cache getCache(String cacheName) {        Cache cache = cacheManger.getCache(cacheName);        if (cache == null && createCacheIfNotFound) {            cache = (Cache) cacheManger.addCacheIfAbsent(cacheName);        }        if (cache == null) {            logger.error("EHCache: cache not config and not auto created, cacheName="                    + cacheName);        }        return cache;    }    @Override    public void putCache(String cacheName, String cacheKey, Object value, int timeToLiveSeconds) {        Cache cache = getCache(cacheName);        if (cache == null) {            return;        }        cache.put(new Element(cacheKey, value, timeToLiveSeconds,                timeToLiveSeconds));    }}
緩衝使用樣本:
引入快取服務介面
/** * 快取服務 */@Resource(name = "ehcacheService")private EhcacheService ehcacheService;

調用:

 

Object requestSource = ehcacheService.getCacheValue(        "SHCAuth", "SHCAuthKey");logger.info("------------------------緩衝擷取認證碼"+requestSource+"-----------------------");

第一個參數是緩衝名,第二個是緩衝名下的索引值

                                                        

 Redis緩衝

 

java本機快取和redis緩衝

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.