首页 新闻 会员 周边

ASP.NET缓存过期时间的问题

0
[已解决问题] 解决于 2024-02-05 09:46

public string PutPhotoIdIntoCache(string key, string photoid)
{
object val = HttpContext.Current.Cache.Get(key);
string newval = val == null ? photoid : val + "," + photoid;
HttpContext.Current.Cache.Insert(key, newval, null, System.DateTime.Now.AddHours(2), System.Web.Caching.Cache.NoSlidingExpiration);
return HttpContext.Current.Cache.Get(key).ToString();
}

想设置成过期时间2小时,但是不到1分钟就清空了

HttpContext.Current.Cache.Insert(key, newval);

设置成不过期,还是一会儿就过期清空了

teagueli的主页 teagueli | 初学一级 | 园豆:75
提问于:2021-08-06 10:24
< >
分享
最佳答案
0

重启当然会丢失. 除非存到redis里,要么就是服务器一直运行

奖励园豆:5
南宫懿痕 | 菜鸟二级 |园豆:298 | 2021-08-06 13:44

重启丢失数据也没关系
我希望在不重启服务器的情况下,2个小时内缓存不过期

不借助redis或者memcached等分布式缓存工具,用ASP.NET自带的缓存

teagueli | 园豆:75 (初学一级) | 2021-08-06 14:25
其他回答(2)
0

你这个缓存是在内存里的吧?

顾晓北 | 园豆:10844 (专家六级) | 2021-08-06 10:42

嗯,重启服务器肯定丢失

支持(0) 反对(0) teagueli | 园豆:75 (初学一级) | 2021-08-06 11:07

@寻找薛定谔的猫: 重启当然会丢失. 除非存到redis里,要么就是服务器一直运行

支持(0) 反对(0) 南宫懿痕 | 园豆:298 (菜鸟二级) | 2021-08-06 13:44

@寻找薛定谔的猫: 想要不丢失就用第三方memecache,redis等等。。。

支持(0) 反对(0) 顾晓北 | 园豆:10844 (专家六级) | 2021-08-06 13:51

@顾晓北:
重启丢失数据也没关系
我希望在不重启服务器的情况下,2个小时内缓存不过期

不借助redis或者memcached等分布式缓存工具,用ASP.NET自带的缓存

支持(0) 反对(0) teagueli | 园豆:75 (初学一级) | 2021-08-06 14:25
0

全局缓存时长设置过没有

flyfishing | 园豆:943 (小虾三级) | 2021-08-06 15:38

请问在哪里设置?
web.config?
IIS?

支持(0) 反对(0) teagueli | 园豆:75 (初学一级) | 2021-08-06 15:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册