首页 > 其他 > 详细

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

时间:2015-06-11 10:52:35      阅读:1787      评论:0      收藏:0      [点我收藏+]

服务器: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);

希望给一些方法。解决问题不全都靠技术,方法也行。 

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

原文:http://www.cnblogs.com/recordman/p/4568285.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!