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;
}
}

StackExchange.Redis 之 String 类型示例的更多相关文章

  1. StackExchange.Redis 之 hash 类型示例

    StackExchange.Redis 的组件封装示例网上有很多,自行百度搜索即可. 这里只演示如何使用Hash类型操作数据: // 在 hash 中存入或修改一个值 并设置order_hashkey ...

  2. StackExchange.Redis 之 SortedSet 类型示例

    1,增加操作 RedisCacheHelper.Instance.ZSortadd(); RedisCacheHelper.Instance.ZSortadd(); RedisCacheHelper. ...

  3. 使用Redis数据库(String类型)

    一 String类型 首先使用启动服务器进程 : redis-server.exe 1. Set 设置Key对应的值为String 类型的value. 例子:向 Redis数据库中插入一条数据类型为S ...

  4. Redis 中 String 类型的内存开销比较大

    使用 String 类型内存开销大 1.简单动态字符串 2.RedisObject 3.全局哈希表 使用 Hash 来存储 总结 参考 使用 String 类型内存开销大 如果我们有大量的数据需要来保 ...

  5. 怎样在Redis通过StackExchange.Redis 存储集合类型List

    StackExchange 是由StackOverFlow出品, 是对Redis的.NET封装,被越来越多的.NET开发者使用在项目中. 绝大部分原先使用ServiceStack的开发者逐渐都转了过来 ...

  6. 深入浅出Redis02 使用Redis数据库(String类型)

    一 String类型 首先使用启动服务器进程 : redis-server.exe 1. Set 设置Key对应的值为String 类型的value. 例子:向 Redis数据库中插入一条数据类型为S ...

  7. [redis] redis 对string类型数据操作

    package com.xwolf.java.redis; import org.junit.Before; import org.junit.Test; import redis.clients.j ...

  8. redis的String类型以及其操作

    Redis的数据类型 String类型以及操作 String是最简单的数据类型,一个key对应一个Value,String类型是二进制安全的.Redis的String可以包含任何数据,比如jpg图片或 ...

  9. Redis中String类型的Value最大可以容纳数据长度

    项目中使用redis存储,key-value方式,在Redis中字符串类型的Value最多可以容纳的数据长度是512M 官方信息: A String value can be at max 512 M ...

随机推荐

  1. 不要把 JWT 用作 session

    现在很多人使用 JWT 用作 session 管理,这是个糟糕的做法,下面阐述原因,有不同意见的同学欢迎讨论. 首先说明一下,JWT 有两种: 无状态的 JWT,token 中包含 session 数 ...

  2. python类型-集合

    集合对象是一组无序排列的可哈希的值,集合成员可以做字典的键.集合有两种类型:可变集合,可以添加和删除元素,可变集合不是可哈希的,不能用作字典的键也不能作为其它集合中的元素:不可变集合相反,有哈希值,可 ...

  3. 使用属性创建区域 (Creating Areas with Attributes) | 使用区域 | 高级路由特性 | 精通ASP-NET-MVC-5-弗瑞曼

  4. selenium2-Python环境搭建

    一.什么是selenium? selenium主要用于web应用的自动化测试,但并不局限于此,它还支持基于所有web的管理任务自动化,且开源免费,多浏览器支持(IE,Mozilla Firefox,S ...

  5. pip install 清华源加速

    经常要通过pip install安装需要的包,但是每当下载的文件比较大时,网速不够快,会导致报错.所以采用清华源来加速 清华大学开源软件镜像站 https://mirrors.tuna.tsinghu ...

  6. HTML中CSS引用——选择器的使用

    一.元素选择器     1.书写格式:标记名{/*生命块*/}     2.所有与该标记匹配的元素,都将应用声明块中的规则 二.类选择器     1.书写格式:.类名{/*声明块*/}         ...

  7. 基于Flask框架搭建视频网站的学习日志(二)

    基于Flask框架搭建视频网站的学习日志(二)2020/02/02 一.初始化 所有的Flask程序都必须创建一个程序实例,程序实例是Flask类的对象 from flask import Flask ...

  8. Python3基础之数据类型(字符串和列表)

    1.Python字符串方法 1.1.如何在Python中使用字符串 a.使用单引号(') 用单引号括起来表示字符串,例如: str1="this is string"; print ...

  9. CGI fastCgi php-fpm PHP-CGI 辨析

    CGI fastCgi php-fpm PHP-CGI 辨析 LNMP环境中的nginx是不支持php的,需要通过fastcgi插件来处理有关php的请求.而php需要php-fpm这个组件提供该功能 ...

  10. 什么是 ThreadLocal?

    什么是 ThreadLocal? ThreadLocal 诞生于 JDK 1.2,用于解决多线程间的数据隔离问题.也就是说 ThreadLocal 会为每一个线程创建一个单独的变量副本. Thread ...