1. 程式人生 > >Guava Cache快取的使用

Guava Cache快取的使用

TokenCache   --使用Guava Cache的存取Token的快取(手機驗證碼、忘記密碼)

public class TokenCache {     private static Logger logger = LoggerFactory.getLogger(TokenCache.class);     public static final String TOKEN_PREFIX = "token_";     //LRU演算法private static LoadingCache<String,String> localCache = CacheBuilder.newBuilder

().initialCapacity(1000).maximumSize(10000).expireAfterAccess(12, TimeUnit.HOURS)            .build(new CacheLoader<String, String>() {                 //預設的資料載入實現,當呼叫get取值的時候,如果key沒有對應的值,就呼叫這個方法進行載入.@Override                 public String load(String s) throws Exception {                     return "null"
;                }            });     public static void setKey(String key,String value){         localCache.put(key,value);    }     public static String getKey(String key){        String value = null;         try {            value = localCache.get(key);             if("null".equals(value)){                 return null
;            }             return value;        }catch (Exception e){             logger.error("localCache get error",e);        }         return null;    }}

例子:忘記密碼

忘記密碼時檢查問題答案:

忘記密碼重置密碼之前需要檢查問題答案,成成token