All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.javaclub.sword.cache.InternalDefaultCacheManager Maven / Gradle / Ivy

The newest version!
/*
 * @(#)InternalDefaultCacheManager.java	2022-5-24
 *
 * Copyright (c) 2022. All Rights Reserved.
 *
 */

package com.github.javaclub.sword.cache;

import com.github.javaclub.sword.cache.caffeine.InternalDefaultCaffeineCache;

/**
 * InternalDefaultCacheManager 本地内存缓存
 *
 * @author Gerald Chen
 * @version $Id: InternalDefaultCacheManager.java 2022-5-24 16:27:41 Exp $
 */
public class InternalDefaultCacheManager implements CacheManager {
	
	private static InternalDefaultCacheManager INSTANCE = new InternalDefaultCacheManager();
	
	
	private InternalDefaultCacheManager() {
		LocalMemoryCache internalDefaultMemCache = InternalDefaultCaffeineCache.getInstance();
		MemExpiredCacheMonitor.getInstance().setLocalMemoryCache(internalDefaultMemCache);
	}
	
	public static InternalDefaultCacheManager getInstance() {
		return INSTANCE;
	}
	
	@Override
	public boolean isLocalCacheEnabled() {
		return true;
	}

	@Override
	public boolean put(String key, Object value) {
		try {
			InternalDefaultCaffeineCache.getInstance().put(key, value);
		} catch (Exception e) {
			return false;
		}
		return true;
	}

	@Override
	public boolean put(String key, Object value, long expireTime) {
		boolean putFlag = false;
		try {
			InternalDefaultCaffeineCache.getInstance().put(key, value, expireTime);
			putFlag = true;
		} catch (Exception e) {
			putFlag = false;
		}
		return putFlag;
	}

	@Override
	public Object get(String key) {
		try {
			return InternalDefaultCaffeineCache.getInstance().getCache(key);
		} catch (Exception e) {
		}
		return null;
	}
	

	@Override
	public boolean publishMessage(String channel, Object message) {
		return false;
	}

	@Override
	public boolean setNX(String key, Object value, long expireTime) {
		return true;
	}

	@Override
	public boolean remove(String key) {
		try {
			InternalDefaultCaffeineCache.getInstance().remove(key);
		} catch (Exception e) {
			return false;
		}
		return true;
	}
	

	@Override
	public boolean remove(String[] keys) {
		if (null != keys) {
			for (String key : keys) {
				remove(key);
			}
		}
		return true;
	}


	@Override
	public boolean expire(String key, long expiredMills) {
		return false;
	}

	@Override
	public boolean exists(String key) {
		return null != InternalDefaultCaffeineCache.getInstance().getCache(key);
	}

	

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy