ServiceStack.Redis 缓存过期,并未失效的暂时解决办法
服务器:Redis版本运行环境如图,生产环境是全内存运行。
客户端NuGet 引入:ServiceStack.Redis
加入缓存代码:
/// <summary> /// Set /// </summary> /// <typeparam name="T">类型</typeparam> /// <param name="key">键</param> /// <param name="t">值</param> /// <param name="timeout">多少分钟后过期</param> /// <returns></returns> public static bool Set<T>(string key, T t, double minOut = 60*3) { using (var redisClient = RedisManager.GetClient()) { key = "Str_" + key; return redisClient.Set<T>(key, t, ExpireDateTime(minOut)); } }
但过了相应的时间之后,缓存没有失效。做了各种尝试.... 最后:
获取所有缓存名称
List<string> GetAllKeys();
定点清除,也可以全部干掉
void FlushAll(); T Get<T>(string key); IDictionary<string, T> GetAll<T>(IEnumerable<string> keys); long Increment(string key, uint amount); bool Remove(string key); void RemoveAll(IEnumerable<string> keys);
希望给一些方法。解决问题不全都靠技术,方法也行。
posted on 2015-06-11 10:28 recordman 阅读(1683) 评论(0) 编辑 收藏 举报