c# 缓存帮助类

public class CacheHelper

{

private static Dictionary<string, object> dic = new Dictionary<string, object>();

// 定义一个静态变量来保存类的实例

private static CacheHelper session;

// 定义一个标识确保线程同步

private static readonly object locker = new object();

/// <summary>

/// 单例

/// </summary>

/// <returns>返回类型为Session</returns>

public CacheHelper Instance

{

get

{

if (session == null)

{

lock (locker)

{

if (session == null)// 如果类的实例不存在则创建,否则直接返回

{

session = new CacheHelper();

}

}

}

return session;

}

}

/// <summary>

/// 删除成员

/// </summary>

/// <param name="name"></param>

public void Remove(string name)

{

dic.Remove(name);

}

/// <summary>

/// 删除全部成员

/// </summary>

public void RemoveAll()

{

dic.Clear();

}

/// <summary>

/// 本类的索引器

/// </summary>

/// <returns>返回Object成员</returns>

public Object this[string index]

{

get

{

if (dic.ContainsKey(index))

{

Object obj = (Object)dic[index];

return obj;

}

return null;

}

set

{

dic.Add(index, value);

}

}

}

相关推荐
桦说编程34 分钟前
Guava 迭代器增强类介绍
java·后端·设计模式
资深web全栈开发1 小时前
如何正确使用缓存:常见陷阱与最佳实践
redis·缓存·golang
235161 小时前
【JVM】Java为啥能跨平台?JDK/JRE/JVM的关系?
java·开发语言·jvm·spring boot·后端·spring·职场和发展
courtfu1 小时前
Plugin ‘mysql_native_password‘ is not loaded`
java·后端
枫子有风1 小时前
Go语言流程控制
android·java·golang
深圳佛手2 小时前
操作系统的 页缓存(Page Cache)解析
缓存
小裕哥略帅2 小时前
订单管理--实时算出在途数量、收货数量、到货数量、已发货数量和未发货数量
java·开发语言
Dxxyyyy2 小时前
零基础学JAVA--Day27(注释+异常+异常处理方法)
java·开发语言
好望角雾眠2 小时前
第四阶段C#通讯开发-5:TCP
网络·笔记·网络协议·tcp/ip·c#
Craaaayon3 小时前
如何选择两种缓存更新策略(写缓存+异步写库;写数据库+异步更新缓存)
java·数据库·redis·后端·缓存·mybatis