// Services.Cache.BaseCacheHelpRedis using System; using System.Collections.Generic; using Org.BouncyCastle.Utilities; using Services.Tool; using StackExchange.Redis; public abstract class BaseCacheHelpRedis { public static T GetCache(string key, Func setAcrion, TimeSpan? expiry = null) { if (StackChangeRedisHelper.CheckKey(key)) { return StackChangeRedisHelper.StringGet(key); } T val = setAcrion(); if (val != null) { StackChangeRedisHelper.StringSet(key, val, expiry); } return val; } public static void SetCache(string key, Func setAcrion, TimeSpan? expiry = null) { T val = setAcrion(); if (val != null) { StackChangeRedisHelper.StringSet(key, val, expiry); } } public static T GetVaue(string key) { if (StackChangeRedisHelper.CheckKey(key)) { return StackChangeRedisHelper.StringGet(key); } return default(T); } public static void ClearCache(string key) { if (StackChangeRedisHelper.CheckKey(key)) { StackChangeRedisHelper.RemoveKey(key); } } public static void ClearCacheList(List keyList) { StackChangeRedisHelper.RemoveKeyList(keyList); } public static T GetHashCache(string key, string sid, Func setAcrion) { if (StackChangeRedisHelper.HashExists(key, sid)) { return StackChangeRedisHelper.HashGet(key, sid); } T val = setAcrion(); if (val != null) { StackChangeRedisHelper.HashSet(key, sid, val); } return val; } public static void SetHashCache(string key, string sid, T model) { StackChangeRedisHelper.HashSet(key, sid, model); } public static void SetHashCache(string key, Dictionary dic) { StackChangeRedisHelper.HashSet(key, dic); } public static Dictionary GetHashAllCache(string key) { return StackChangeRedisHelper.HashGetAll(key); } public static bool CheckKey(string key) { return StackChangeRedisHelper.CheckKey(key); } }