StackExchange.Redis 之 String 类型示例
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 类型示例的更多相关文章
- StackExchange.Redis 之 hash 类型示例
StackExchange.Redis 的组件封装示例网上有很多,自行百度搜索即可. 这里只演示如何使用Hash类型操作数据: // 在 hash 中存入或修改一个值 并设置order_hashkey ...
- StackExchange.Redis 之 SortedSet 类型示例
1,增加操作 RedisCacheHelper.Instance.ZSortadd(); RedisCacheHelper.Instance.ZSortadd(); RedisCacheHelper. ...
- 使用Redis数据库(String类型)
一 String类型 首先使用启动服务器进程 : redis-server.exe 1. Set 设置Key对应的值为String 类型的value. 例子:向 Redis数据库中插入一条数据类型为S ...
- Redis 中 String 类型的内存开销比较大
使用 String 类型内存开销大 1.简单动态字符串 2.RedisObject 3.全局哈希表 使用 Hash 来存储 总结 参考 使用 String 类型内存开销大 如果我们有大量的数据需要来保 ...
- 怎样在Redis通过StackExchange.Redis 存储集合类型List
StackExchange 是由StackOverFlow出品, 是对Redis的.NET封装,被越来越多的.NET开发者使用在项目中. 绝大部分原先使用ServiceStack的开发者逐渐都转了过来 ...
- 深入浅出Redis02 使用Redis数据库(String类型)
一 String类型 首先使用启动服务器进程 : redis-server.exe 1. Set 设置Key对应的值为String 类型的value. 例子:向 Redis数据库中插入一条数据类型为S ...
- [redis] redis 对string类型数据操作
package com.xwolf.java.redis; import org.junit.Before; import org.junit.Test; import redis.clients.j ...
- redis的String类型以及其操作
Redis的数据类型 String类型以及操作 String是最简单的数据类型,一个key对应一个Value,String类型是二进制安全的.Redis的String可以包含任何数据,比如jpg图片或 ...
- Redis中String类型的Value最大可以容纳数据长度
项目中使用redis存储,key-value方式,在Redis中字符串类型的Value最多可以容纳的数据长度是512M 官方信息: A String value can be at max 512 M ...
随机推荐
- Python-logging模块简单使用
logging模块只要用于日志的打印.模块的源码在:Lib/logging/__init__.py 其中,logging.basicConfig(**kwargs)方法用于进行基本的属性配置,它的参数 ...
- 分析一下 原型模式的 UML 类图 。 复制对象, 深浅拷贝 月经贴 ,请回避
- c# 三种计算程序运行时间的方法
三种计算c#程序运行时间的方法第一种:利用 System.DateTime.Now // example1: System.DateTime.Now method DateTime dt1 = Sys ...
- robotframework从列表中循环读取数据,传入关键字执行
场景预设:从列表内读取手机号,自动化执行微信加好友,直至选择完所有数据后,脚本停止执行 1.建一个备选数据表,表内列待添加的手机号数据 2.脚本的主要流程新加好友-输入手机号-添加好友-判断好友是否存 ...
- jemeter察看结果树中文乱码解决办法
在使用jemeter进行接口测试时,在察看结果树查看接口返回结果时,中文全部显示乱码,这个问题的解决方式如下: 在jemeter的安装路径下面,找到bin目录下, 在bin目录下面找到这个文件:jme ...
- JS-06-定时器
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- CSS-18-媒体查询
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Ganglia安装及配置
Ganglia安装及配置root用户下yum安装所依赖的环境(实际生产环境都已安装)yum -y install apr-develapr-util check-devel cairo-devel p ...
- node--->PHPStorm 停留在 Scanning files to index..
使用webpack时,敲了npm 一些命令后,PHPStorm 开始 Scanning files to index...,去建立文件索引,但是如果一直停留在这个状态,说明是npm install 后 ...
- 每天一道Java题[9]
题目 native关键字的作用是什么? 解答 首先,需了解JNI(Java Native Interface),它是连接Java平台与本地C代码的一个API. 其次,用native关键字声明的方法,是 ...