您的位置:首页 > 数据库 > Redis

ServiceStack.Redis 缓存过期,并未失效的暂时解决办法

2015-06-11 10:28 627 查看
服务器: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);


希望给一些方法。解决问题不全都靠技术,方法也行。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: