緩存問題

happyxiaowuge007 2012-03-08 09:30:52
目前在做一個網站,頁面一加載的時候會加載商品的分類信息,而這些分類信息一般變化比較小。所以想把分類信息存到緩存里。
代碼如下:
If HttpRuntime.Cache("ClassInfo") Is Nothing Then
............
ClassStr= 與數據庫交互得到的商品分類信息
............
HttpRuntime.Cache.Insert("ClassInfo", ClassStr, Nothing, Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration)
end if
context.Response.Write(HttpRuntime.Cache("ClassInfo").ToString.Trim)

在調試的時候電腦右下角會彈出幾個“ASP.NET Development Server-Port 6451”這樣的東西。在第一次調試的時候會執行到cache的Insert方法,第二次調試時,不會進到IF語句里去。
但是如果我把那幾個顯示端口號的東西stop掉,再調試,結果又進到IF語句里去了,貌似Cache("ClassInfo")已經被刪除掉了。
這樣看起來好像cache的存活時間很短,只在程序的運行時間里存在,程序一關閉就沒了。如果是這樣的話,那豈不是沒有起到減少與數據庫交互的效果了。
問題1:要如何定義data類型和timeSpan的變量作為參數,比如我想把SlidingExpiration這個參數定義成一天,要如果做呢。
問題2:我想把這個緩存建立一個依賴,依賴于一個文件,每次數據庫里分類信息發生變化時,就自動更新那個依賴的文件,這樣緩存就可以重新更新了,實現了與數據庫的同步。但不知要如何實現數據庫里資料發生改變就會自動更新一個文件。
問題3:緩存不是存在內存里的嗎,而且我設置的2個過期參數都是"noxxxxx"的,照理是不會消失的,為何我把程序關閉后重新調試的時候,那個緩存值又沒有了呢

向大牛們請教了。
...全文
105 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

16,556

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧