使用ConcurrentHashMap作為快取工具類的總結
使用雜湊表作為快取工具,可以有時候有效避免對資料庫的頻繁訪問,有助於效率和效能的提高
package com.test.lz; import java.util.Date; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; /** * 資料快取類 * * @author zhe.liu * */ public class CacheMap { public static int DEFAULT_CACHE_MINUTE = 5; /** * 資料快取map */ private static Map<String, Object> dataMap = new ConcurrentHashMap<String, Object>(); /** * 資料快取過期map */ private static Map<String, Date> dataExpireMap = new ConcurrentHashMap<String, Date>(); /** * 將一個key、value值放入記憶體快取,並設定過期分鐘數 * * @param key * @param val * @param expireMiute */ public static void put(String key, Object val, int expireMiute) { dataMap.put(key, val); dataExpireMap.put(key, DateUtil.addMinutes(new Date(), expireMiute)); } /** * 從快取中獲取一個key的資料(若過期返回null) * * @param key * @return */ public static Object get(String cacheKey) { Object obj = null; Date expireDate = CacheMap.dataExpireMap.get(cacheKey); if (expireDate != null && expireDate.compareTo(new Date()) > 0) { obj = CacheMap.dataMap.get(cacheKey); } return obj; } }
相關推薦
使用ConcurrentHashMap作為快取工具類的總結
使用雜湊表作為快取工具,可以有時候有效避免對資料庫的頻繁訪問,有助於效率和效能的提高 package com.test.lz; import java.util.Date; import java.
Apache下的ArrayUtils工具類總結
tostring empty length contains oem 數量 main nts int ArrayUtils中的方法: 1.add():將給定的數據添加到指定的數組中,返回一個新的數組。 2.addAll():合並兩個數組。 3.contains():檢查該數
提取jedis源碼的一致性hash代碼作為通用工具類
final pub 導致 exce value 上大 放心 while sha 一致性Hash熱點 一致性Hash算法是來解決熱點問題,如果虛擬節點設置過小熱點問題仍舊存在。 關於一致性Hash算法的原理我就不說了,網上有很多人提供自己編寫的一致性Hash算法的代碼示例,我
快取工具類
這是專案用用到快取工具類 import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.C
清除APP快取工具類
這是專案中用到的“ 清除快取”功能的工具類 import android.content.Context; import android.os.Environment; import android.text.TextUtils; import java.io.File; imp
提取jedis原始碼的一致性hash程式碼作為通用工具類
一致性Hash熱點 一致性Hash演算法是來解決熱點問題,如果虛擬節點設定過小熱點問題仍舊存在。 關於一致性Hash演算法的原理我就不說了,網上有很多人提供自己編寫的一致性Hash演算法的程式碼示例,我在跑網上的程式碼示例發現還是有熱點問題。為此我翻閱了Jedis的ShardedJedis類的原始碼把它的一致
Android清理快取工具類
DataCleanUtil.java import android.content.Context; import android.os.Environment; import java.io.File; import java.math.BigDecimal; /
Android彈出Toast工具類總結
Android彈出Toast工具類總結,包括系統自帶的,也包括自定義的。 public class ToastUtil { public ToastUtil() { } public static Toast showShortToast(
Redis儲存快取工具類簡單封裝
一、公共實體類 (1)User.java package cn.xiyou.entity; import java.io.Serializable; /** * User實體 * * @author XIOAHU * */ publi
小程式開發之常用的工具類總結
寫之前先說一下抽取公共類注意問題 require 暫時不支援絕對路徑 一般情況下建立在utils檔案中 先說明如何抽取工具類 假設: (1)先建立公共工具類common.js 注:一般情況下建立在utils檔案 // common.js functio
快取工具類 使用IO流寫入本地檔案
/** * Copyright (c) 2012-2013, Michael Yang 楊福海 (www.yangfuhai.com). * * Licensed under the Apache License, Version 2.0 (the "License")
Fresco磁碟記憶體快取 工具類
1. 新增依賴,在AndroidManifest.xml清單檔案中配置: compile 'com.facebook.fresco:fresco:1.5.0' <application android:name=".util.BaseApplication"
Android面試題(23)-圖片的三級快取工具類
上一篇部落格已經把三級快取原理大致都講了,這篇部落格就僅僅貼一下封裝好的一個圖片三級快取工具類,程式碼內有註釋,僅僅小記一下:首先是MyBitmapUtils,它提供了一個display方法去供外界呼叫:/** * 圖片三級快取工具類 * Created by PDD o
Unity+NGUI打造網路圖片非同步載入與本地快取工具類(一)
我們在移動端的開發中,非同步網路圖片載入用的非常的多,在unity當中雖然有AssetBundle的存在,一般是先載入好遊戲資源然後再進入場景,但是還有不少地方能夠用到非同步網路圖片的載入以及其快取機制。 我之前也寫過兩個版本的ios中的非同步網路圖片載入helper類,所
【java reflection】反射工具類總結
這段時間公司搞封閉開發,做一個聯通總部的客服系統專案,是基於springboot的。在開發工程中遇到一個頁面datagrid資料排序的功能,因為有多個表的資料都要用到排序功能,於是我就寫了一個排序功能的公共實現類,方便大家使用。在寫實現類的過程中需要通過反射去呼
Android 清理資料/快取工具類 CleanCacheUtil
/** * * 清除快取 * * * */ public class CleanCacheUtil {
常用高效 Java 工具類總結
一、前言 在Java中,工具類定義了一組公共方法,這篇文章將介紹Java中使用最頻繁及最通用的Java工具類。以下工具類、方法按使用流行度排名,參考資料來源於Github上隨機選取的5萬個開源專案原始碼。 二、org.apache.commons.io.IOUtils closeQuietly:關閉一個I
JAVA使用JDK1.5提供的讀寫鎖實現高併發本地快取工具類
package com.study; import java.util.LinkedHashMap; import jav
Redis作為快取實現工具類
使用Redis作為快取物件,常用的儲存格式為字串,所以在儲存快取時,將物件轉為字串儲存.由於存的時候為字串,所以取出的也為json字串. 此工具類在設值時只需要將key與物件傳入即可 取值時只需要將key與要取的物件型別傳入即可 public class CacheUtilImpl im
9.9-全棧Java筆記:遍歷集合的N種方式總結&Collections工具類
java遍歷集合的N種方式總結【示例1】遍歷List方法1,使用普通for循環for(int i=0;i<list.size();i++){ //list為集合的對象名 String temp = (String)list.get(i); System.out.println