博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c#缓存
阅读量:6962 次
发布时间:2019-06-27

本文共 3937 字,大约阅读时间需要 13 分钟。

 
/// <summary>
        
/// 建立缓存
        
/// </summary>
        
public 
static 
object 
TryAddCache(
string 
key, 
object 
value, CacheItemPriority priority)
        
{
            
if 
(HttpRuntime.Cache[key] == 
null 
&& value != 
null
)
                
return 
HttpRuntime.Cache.Add(key, value, 
null
, Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, priority, 
null
);
            
else
                
return 
null
;
        
}
 
        
/// <summary>
        
/// 建立定时不访问便移除的缓存
        
/// </summary>
        
public 
static 
object 
TryAddCache(
string 
key, 
object 
value, TimeSpan slidingExpiration, CacheItemPriority priority)
        
{
            
if 
(HttpRuntime.Cache[key] == 
null 
&& value != 
null
)
                
return 
HttpRuntime.Cache.Add(key, value, 
null
, Cache.NoAbsoluteExpiration, slidingExpiration, priority, 
null
);
            
else
                
return 
null
;
        
}
 
        
/// <summary>
        
/// 建立缓存,并在移除时执行事件
        
/// </summary>
        
public 
static 
object 
TryAddCache(
string 
key, 
object 
value, DateTime absoluteExpiration, TimeSpan slidingExpiration, CacheItemPriority priority, CacheItemRemovedCallback onRemovedCallback)
        
{
            
if 
(HttpRuntime.Cache[key] == 
null 
&& value != 
null
)
                
return 
HttpRuntime.Cache.Add(key, value, 
null
, absoluteExpiration, slidingExpiration, priority, onRemovedCallback);
            
else
                
return 
null
;
        
}
 
 
        
/// <summary>
        
/// 移除缓存
        
/// </summary>
        
public 
static 
object 
TryRemoveCache(
string 
key)
        
{
            
if 
(HttpRuntime.Cache[key] != 
null
)
                
return 
HttpRuntime.Cache.Remove(key);
            
else
                
return 
null
;
        
}
 
        
/// <summary>
        
/// 移除键中带某关键字的缓存
        
/// </summary>
        
public 
static 
void 
RemoveMultiCache(
string 
keyInclude)
        
{
            
IDictionaryEnumerator CacheEnum = HttpRuntime.Cache.GetEnumerator();
            
while 
(CacheEnum.MoveNext())
            
{
                
if 
(CacheEnum.Key.ToString().IndexOf(keyInclude.ToString()) >= 0)
                    
HttpRuntime.Cache.Remove(CacheEnum.Key.ToString());
            
}
        
}
 
        
/// <summary>
        
/// 移除所有缓存
        
/// </summary>
        
public 
static 
void 
RemoveAllCache()
        
{
            
IDictionaryEnumerator CacheEnum = HttpRuntime.Cache.GetEnumerator();
            
while 
(CacheEnum.MoveNext())
            
{
                
HttpRuntime.Cache.Remove(CacheEnum.Key.ToString());
            
}
        
}

 

using 
System;
using 
System.Collections.Generic;
using 
System.Text;
using 
System.Collections;
using 
System.Web;
using 
System.Web.Caching;
 
namespace 
BLL
{
    
public 
class 
Caches
    
{
        
/// <summary>
        
/// 建立缓存
        
/// </summary>
        
public 
static 
object 
TryAddCache(
string 
key, 
object 
value, CacheItemPriority priority)
        
{
            
if 
(HttpRuntime.Cache[key] == 
null 
&& value != 
null
)
                
return 
HttpRuntime.Cache.Add(key, value, 
null
, Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, priority, 
null
);
            
else
                
return 
null
;
        
}
 
        
/// <summary>
        
/// 建立定时不访问便移除的缓存
        
/// </summary>
        
public 
static 
object 
TryAddCache(
string 
key, 
object 
value, TimeSpan slidingExpiration, CacheItemPriority priority)
        
{
            
if 
(HttpRuntime.Cache[key] == 
null 
&& value != 
null
)
                
return 
HttpRuntime.Cache.Add(key, value, 
null
, Cache.NoAbsoluteExpiration, slidingExpiration, priority, 
null
);
            
else
                
return 
null
;
        
}
 
        
/// <summary>
        
/// 建立缓存,并在移除时执行事件
        
/// </summary>
        
public 
static 
object 
TryAddCache(
string 
key, 
object 
value, DateTime absoluteExpiration, TimeSpan slidingExpiration, CacheItemPriority priority, CacheItemRemovedCallback onRemovedCallback)
        
{
            
if 
(HttpRuntime.Cache[key] == 
null 
&& value != 
null
)
                
return 
HttpRuntime.Cache.Add(key, value, 
null
, absoluteExpiration, slidingExpiration, priority, onRemovedCallback);
            
else
                
return 
null
;
        
}
 
 
        
/// <summary>
        
/// 移除缓存
        
/// </summary>
        
public 
static 
object 
TryRemoveCache(
string 
key)
        
{
            
if 
(HttpRuntime.Cache[key] != 
null
)
                
return 
HttpRuntime.Cache.Remove(key);
            
else
                
return 
null
;
        
}
 
        
/// <summary>
        
/// 移除键中带某关键字的缓存
        
/// </summary>
        
public 
static 
void 
RemoveMultiCache(
string 
keyInclude)
        
{
            
IDictionaryEnumerator CacheEnum = HttpRuntime.Cache.GetEnumerator();
            
while 
(CacheEnum.MoveNext())
            
{
                
if 
(CacheEnum.Key.ToString().IndexOf(keyInclude.ToString()) >= 0)
                    
HttpRuntime.Cache.Remove(CacheEnum.Key.ToString());
            
}
        
}
 
        
/// <summary>
        
/// 移除所有缓存
        
/// </summary>
        
public 
static 
void 
RemoveAllCache()
        
{
            
IDictionaryEnumerator CacheEnum = HttpRuntime.Cache.GetEnumerator();
            
while 
(CacheEnum.MoveNext())
            
{
                
HttpRuntime.Cache.Remove(CacheEnum.Key.ToString());
            
}
        
}
    
}
}

 

转载于:https://www.cnblogs.com/shaoke123/p/5209276.html

你可能感兴趣的文章
input按钮的background-image属性兼容性问题
查看>>
java.lang.*不用我们导入,编译器会自动给我们导入的,,,这个包是默认导入的。...
查看>>
shell 小脚本
查看>>
IE8、IE9下访问博客报不安全『博客帮助』文档
查看>>
HDU 5162
查看>>
Python 获取本机ip地址
查看>>
NO.1 关于禅道
查看>>
win-codeblocks-16.01
查看>>
资本主义系统的基本结构
查看>>
财务企业网银故障快速攻克
查看>>
谭浩强C语言下载
查看>>
我的友情链接
查看>>
weblogic 启动脚本
查看>>
lamp-配置防盗链、访问控制Directory(针对目录)、访问控制(针对单文件)
查看>>
Cacti中文版在Centos上的安装(1)
查看>>
转:路由器MTU值对于网络通讯的影响(解决部分网站打不开问题)
查看>>
状态模式
查看>>
PHP,安卓,ios相互适用的AES加密算法
查看>>
我的友情链接
查看>>
LitePal的使用
查看>>