String类型很简单,就不做示例演示了,这里只贴出Helper类

        /// <summary>
/// 判断key是否存在
/// </summary>
/// <param name="key"></param>
/// <param name="db"></param>
/// <returns></returns>
public bool KeyExists(string key, int db = -)
{
try
{
_db = GetDatabase(db);
return KeyExists(key);
}
catch (Exception)
{
throw;
}
} /// <summary>
/// 根据key 移除缓存
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public bool Remove(string key, int db = -)
{
try
{
if ((object)key == null)
return false;
_db = GetDatabase(db);
return KeyDelete(key);
}
catch (Exception ex)
{
_log.Fatal("移除:{0}异常:{1}", key, ex.Message);
throw;
}
} /// <summary>
/// 写入缓存数据
/// </summary>
/// <typeparam name="T">类型</typeparam>
/// <param name="key"></param>
/// <param name="value"></param>
/// <param name="span">有效期</param>
/// <returns></returns>
public bool Set<T>(string key, T value, TimeSpan span, int db = -)
{
try
{
if ((object)key == null || value == null)
return false; _db = GetDatabase(db);
if (value != null && (object)value is string)
{
return StringSet(key, value.ToString(), span);
}
return StringSet<T>(key, value, span);
}
catch (Exception ex)
{
_log.Fatal("{0}key写入value:{1}失败,异常原因:{2}", key, value, ex.Message);
throw;
}
} /// <summary>
/// 读取缓存数据 返回实体
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <returns></returns>
public T Get<T>(string key, int db = -)
{
try
{
_db = GetDatabase(db);
return StringGet<T>(key);
}
catch (Exception)
{
throw;
}
} /// <summary>
/// 读取缓存数据 返回字符串
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public string Get(string key, int db = -)
{
try
{
_db = GetDatabase(db);
return StringGet(key);
}
catch (Exception)
{ throw;
}
} /// <summary>
/// 递增
/// </summary>
/// <param name="key"></param>
/// <param name="span"></param>
/// <param name="db"></param>
/// <returns></returns>
public long Increment(string key, TimeSpan span, int db = -)
{
try
{
_db = GetDatabase(db);
var result = this.StringIncr(key);
//设置过期时间
this.KeyExpire(key, span);
return result;
}
catch (Exception)
{ throw;
}
} /// <summary>
/// 递减
/// </summary>
/// <param name="key"></param>
/// <param name="span"></param>
/// <param name="db"></param>
/// <returns></returns>
public long Decrement(string key, TimeSpan span, int db = -)
{
try
{
_db = GetDatabase(db);
var result = this.StringDecr(key);
//设置过期时间
this.KeyExpire(key, span);
return result;
}
catch (Exception)
{ throw;
}
}

最新文章

  1. 更改计算机名称后 导致 sql server 2008 R2 用windows账户不能附加的错误解决办法
  2. ztree已拥有权限显示
  3. 我的ORM之九 -- 生成器
  4. maven引入json-lib的正确方法
  5. [奇葩 bug]视图在 ipad5 上正常显示,在 iPad3上超出了边界
  6. Json工具类,实现了反射将整个Object转换为Json对象的功能,支持Hibernate的延迟加
  7. android Edittext自定义输入字符和类型
  8. Oracle 11g RAC 第二节点root.sh执行失败后再次执行root.sh
  9. 《数据结构与算法分析:C语言描述_原书第二版》CH2算法分析_课后习题_部分解答
  10. Java再学习——synchronized与volatile
  11. makeKeyAndVisible的作用
  12. linux之getcwd函数解析
  13. C# 给自己的代码 添加上 自己的版权信息
  14. C语言数组的学习
  15. C# Process类_进程管理器Demo
  16. [原创].NET 业务框架开发实战之九 Mapping属性原理和验证规则的实现策略
  17. Day2:T3DP(基于排列组合思想)
  18. UVA11093-Just Finish it up(思维)
  19. Ubuntu Eclipse C++运行问题:launch failed.Binary not found
  20. CentOS 7.4 初次手记:第一章 Linux守护进程(daemon)

热门文章

  1. 【java面试】Web篇
  2. [校内训练20_01_19]ABC
  3. 19_07_8校内训练[sort]
  4. 自用代码css获取任意网址的/favicon.ico的方法教程
  5. 前端 network
  6. 如何用Git.io来生成自定义后缀名的短网址
  7. 命令行下使用RAR和7-Zip压缩数据
  8. oracle11G 已开启监听,但远程连接依旧无监听解决过程
  9. 下载STRING数据库检索互作关系结果为空,但是在STRING网站却能检索出互作关系,为什么呢???关键词用的是蛋白ID(ENSP开头)
  10. 十二、sed文本处理