×

asp.net vb版 cache 处理缓存实例

Kalet Kalet 发表于2017-06-26 18:17:19 浏览199 评论0

抢沙发发表评论

简单的实例,cache方法理解ASP.NET缓存 Cache之数据缓存

大家可以通过各种各样的方法去优化我们系统,本篇博文将介绍通过Cache方法来优化系统的性能,减轻系统的负担。



[html] view plain copy
  1. <%@ Page Language="VB" AutoEventWireup="false" CodeFile="cache.aspx.vb" Inherits="admin_cache" %>  
  2.   
  3. <!DOCTYPE html>  
  4.   
  5. <html xmlns="http://www.w3.org/1999/xhtml">  
  6. <head runat="server">  
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>  
  8.     <title></title>  
  9. </head>  
  10. <body>  
  11.     <form id="form1" runat="server">  
  12.     <div>  
  13.      <input type=submit OnServerClick="AddItemToCache" value="Add Item To Cache" runat="server"/>  
  14.                             <input type=submit OnServerClick="RemoveItemFromCache" value="Remove Item From Cache" runat="server"/>  
  15.     </div>  
  16.     </form>  
  17. </body>  
  18. </html>  





  1. Imports System.Web.Caching  
  2. Partial Class admin_cache  
  3.     Inherits System.Web.UI.Page  
  4.   
  5.     Shared itemRemoved As Boolean = False  
  6.     Shared reason As CacheItemRemovedReason  
  7.     Dim onRemove As CacheItemRemovedCallback  
  8.     Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load  
  9.          
  10.         '缓存技术,首先判断是否有缓存数据  
  11.         If (itemRemoved) Then  
  12.             Response.Write("RemovedCallback event raised.")  
  13.             Response.Write("<BR>")  
  14.             Response.Write("Reason: <B>" + reason.ToString() + "</B>")  
  15.         Else  
  16.             Response.Write("Value of cache key: <B>" + Server.HtmlEncode(CType(Cache("Key1"), String)) + "</B>")  
  17.         End If  
  18.   
  19.     End Sub  
  20.     Public Sub RemovedCallback(k As String, v As Object, r As CacheItemRemovedReason)  
  21.         itemRemoved = True  
  22.         reason = r  
  23.     End Sub  
  24.     Public Sub AddItemToCache(sender As Object, e As EventArgs)  
  25.         '添加缓存数据,同时触发onRemove事件,itemRemoved变成真  
  26.         onRemove = New CacheItemRemovedCallback(AddressOf Me.RemovedCallback)  
  27.   
  28.         If (IsNothing(Cache("Key1"))) Then  
  29.             Cache.Add("Key1""这里是缓存数据"Nothing, DateTime.Now.AddSeconds(10), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove)  
  30.         End If  
  31.     End Sub  
  32.   
  33.     Public Sub RemoveItemFromCache(sender As Object, e As EventArgs)  
  34.         '移除缓存数据  
  35.         If (Not IsNothing(Cache("Key1"))) Then  
  36.             Cache.Remove("Key1")  
  37.         End If  
  38.     End Sub  
  39. End Class  

群贤毕至

访客