自己封装的C#操作redis公共类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ServiceStack.Redis; namespace ZhengXin.Tools
{
public class RedisUtils
{
/// <summary>
/// 默认过期时间 为秒
/// </summary>
private static int secondsTimeOut = 30 * 60; #region @Royal改进部分,能操作16个库 private static readonly Dictionary<int, PooledRedisClientManager> pools = new Dictionary<int, PooledRedisClientManager>(); static RedisUtils()
{
string path = ConfigHelper.GetConfigKeyValue("RedisPath");
string[] readWriteHosts = new string[] { path };
string[] readOnlyHosts = new string[] { path };
//初始化16个缓存库
for (int i = 0; i <= 15; i++)
{
var model = new PooledRedisClientManager(readWriteHosts, readOnlyHosts, new RedisClientManagerConfig
{
MaxWritePoolSize = 50, // “写”链接池链接数
MaxReadPoolSize = 50, // “读”链接池链接数
AutoStart = true,
}, i, 100, 20);
pools.Add(i, model);
}
} public static PooledRedisClientManager ChooseRedisInstance(int database)
{
if (database > 16) return pools[0]; return pools[database];
} public static void Lpush(string key, string value, int database = 0)
{
using (IRedisClient redis = ChooseRedisInstance(database).GetClient())
{
redis.PushItemToList(key, value);
}
} public static string Lpop(string key, int database = 0)
{
using (IRedisClient redis = ChooseRedisInstance(database).GetClient())
{
return redis.PopItemFromList(key);
}
} public static List<string> List(string key, int database = 0)
{
using (IRedisClient redis = ChooseRedisInstance(database).GetClient())
{
return redis.GetAllItemsFromList(key);
}
} public static bool ItemSet<T>(string key, T t, int timeout = 0, int db = 2)
{
using (IRedisClient RClient = ChooseRedisInstance(db).GetClient())
{
if (timeout >= 0)
{
if (timeout > 0)
{
secondsTimeOut = timeout;
}
}
return RClient.Add<T>(key, t, TimeSpan.FromMinutes(secondsTimeOut));
} } public static T ItemGet<T>(string key, int db = 2) where T : class
{
using (IRedisClient redis = ChooseRedisInstance(db).GetClient())
{
return redis.Get<T>(key);
}
}
}
}
自己封装的C#操作redis公共类的更多相关文章
- 自己封装的poi操作Excel工具类
自己封装的poi操作Excel工具类 在上一篇文章<使用poi读写Excel>中分享了一下poi操作Excel的简单示例,这次要分享一下我封装的一个Excel操作的工具类. 该工具类主要完 ...
- Java操作Redis工具类
依赖 jar 包 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis< ...
- Jedis 操作 Redis 工具类
配置类 pom.xml pom.xml 里配置依赖 <dependency> <groupId>redis.clients</groupId> <artifa ...
- Redis操作Set工具类封装,Java Redis Set命令封装
Redis操作Set工具类封装,Java Redis Set命令封装 >>>>>>>>>>>>>>>>& ...
- Redis操作List工具类封装,Java Redis List命令封装
Redis操作List工具类封装,Java Redis List命令封装 >>>>>>>>>>>>>>>> ...
- Redis操作Hash工具类封装,Redis工具类封装
Redis操作Hash工具类封装,Redis工具类封装 >>>>>>>>>>>>>>>>>> ...
- Redis操作字符串工具类封装,Redis工具类封装
Redis操作字符串工具类封装,Redis工具类封装 >>>>>>>>>>>>>>>>>>& ...
- 最全的Java操作Redis的工具类,使用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!
转载自:https://github.com/whvcse/RedisUtil 代码 ProtoStuffSerializerUtil.java import java.io.ByteArrayInp ...
- StackExchange.Redis帮助类解决方案RedisRepository封装(基础配置)
本文版权归博客园和作者吴双本人共同所有,转载和爬虫,请注明原文地址.http://www.cnblogs.com/tdws/p/5815735.html 写在前面 这不是教程,分享而已,也欢迎园友们多 ...
随机推荐
- 【 java版坦克大战--事件处理】 坦克动起来了
折腾了这么久,坦克总算能动了.只贴代码编辑不给上首页,花了半个小时的时间写了n多注释. 再顺便把绘图的原理发在这里: 绘图原理 Component类提供了两个和绘图有关的重要方法: ① paint ...
- 定时生成bat命令
windows下,定时生成bat的名. at 14:54 cmd /c "echo net share D=d:\ > d:d.bat" ^对>转义.
- 从头搭建Spring MVC
1.拷贝jar文件 2.填充Web.xml 在/WEB-INF/web.xml中写入如下内容: <?xml version="1.0" encoding="UTF- ...
- html+css篇
一,html语义话标签 http://www.html5jscss.com/html5-semantics-section.html
- 关于django Models的个人理解和related_name的使用
作为一个新人(刚刚大学还没有毕业就出来实习,可以说是真的什么都不知到,什么都要重新学,但是这样真的可以锻炼自己的意志力和能力).现在在公 司是前端和后端一起坐,所以要学的东西是真的多的让人想不到.在学 ...
- C语言中返回字符串函数的四种实现方法
转自C语言中返回字符串函数的四种实现方法 其实就是要返回一个有效的指针,尾部变量退出后就无效了. 有四种方式: 1.使用堆空间,返回申请的堆地址,注意释放 2.函数参数传递指针,返回该指针 3.返回函 ...
- OA学习笔记-008-岗位管理Action层实现
一.分析 1,设计实体/表 设计实体 --> JavaBean --> hbm.xml --> 建表 2,分析有几个功能,对应几个请求. 3,实现功能: 1,写Action类,写Ac ...
- Tomcat J2ee 发布步骤
1.找到要发布的工程,并发布到本地tomcat下,测试完全没有问题,找到tomcat下webapps下 并找到该工程,进入该工程目录,全选添加到 drivingSchool.zip 或 drivi ...
- hadoop多机安装HA+YARN
HA 相比于Hadoop1.0,Hadoop 2.0中的HDFS增加了两个重大特性,HA(热备)和Federation(联邦).HA即为High Availability,用于解决NameNode单点 ...
- DELL笔记本拆机添加内存条
在笔记本后面拧开7个螺丝 然后打开后盖 掰开卡口,内存条会弹出,此时按住内存条两侧的缺口往外用力就可以拔出内存条. 装入内存条时,先插入内存条,按下即可.