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. 去除空白字符串trim

    let str = ' foo ' //去除开头空格 console.log(str.trimLeft()) console.log(str.trimStart()) //去除尾部空格 console ...

  2. 针对MySQL的MVCC多版本并发控制的一些总结

    MVCC MVCC细节太多,我直接备忘一下总结: MVCC就是通过事务的ID与行数据的版本(修改事务的ID)进行比较(通过redo log可以回溯版本)得出哪些版本的行数据可见和不可见而实现的事务隔离 ...

  3. 18年第一弹射 和网络有关; 艾曲塞嗯诶系列篇 one

    1:当指定接口运行在RIP2组播方式时,以下说法正确的是 2个答案 A 只接收RIPv2组播报文 B  不接收RIPV1 广播报文 2 下面哪条命令是把PPP的认证方式设置为PAP? C ppp au ...

  4. MyBatis-Plus学习笔记(1):环境搭建以及基本的CRUD操作

    MyBatis-Plus是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,使用MyBatis-Plus时,不会影响原来Mybatis方式的使用. SpringBoot+M ...

  5. git---如何在远程某个分支的基础上新建分支

    问题场景 技术主管让你去再某个git分支上新建一个分支去做你的项目,那么如何在原远程分支的基础上新建自己的分支呢? 解决方法 按照以下命令敲即可 git branch newBranch //新建本地 ...

  6. HDU-5902-GCD is Funny解题笔记

    Alex has invented a new game for fun. There are n integers at a board and he performs the following ...

  7. delphiXE开发蓝牙BLE4.0程序时遇到的notification问题

    IDE环境delphiXE8 蓝牙硬件ST17H26 service:0xfee7 chareter:0xfec9 const u16 my_OEMServiceUUID=0xfee7;const u ...

  8. JDBC的学习笔记-手动实现

    JDBC是SUN公司提供的一套用于数据库操作的接口,Java程序员只需要面向这套接口编程即可.不同的数据库厂商,需要针对这套接口,提供不同实现. 使用JDBC的好处:1.程序员不需要关注不同数据库的细 ...

  9. CSS DIV重叠

    <div style="position: relative"> <div>content</div> <div style=" ...

  10. 如何准备Java面试?如何把面试官的提问引导到自己准备好的范围内?

    Java能力和面试能力,这是两个方面的技能,可以这样说,如果不准备,一些大神或许也能通过面试,但能力和工资有可能被低估.再仔细分析下原因,面试中问的问题,虽然在职位介绍里已经给出了范围,但针对每个点, ...