.net core Redis库 CSRedis

由于servicestack.redis收费,基于有人说StackExchange.Redis 使用会出现一些问题比如会超时,

找到了CSRedis这个库,很强大很实用。另外有兴趣的朋友还可以试试另一个支持Core的redis库NewLife.Redis

 

nuget Install-Package CSRedisCore
源码地址:https://github.com/2881099/csredis 经过了两年的洗礼,同胞们大可放心使用。
 
1、增加了 CSRedisClient 现实集群与连接池管理,和 RedisHelper 静态类快速上手
//普通模式
 
var  csredis =  new  CSRedis.CSRedisClient( "127.0.0.1:6379,password=123,defaultDatabase=13,poolsize=50,ssl=false,writeBuffer=10240,prefix=key前辍" );
 
//集群模式
 
var  csredis =  new  CSRedis.CSRedisClient( null ,
   "127.0.0.1:6371,password=123,defaultDatabase=11,poolsize=10,ssl=false,writeBuffer=10240,prefix=key前辍" ,
   "127.0.0.1:6372,password=123,defaultDatabase=12,poolsize=11,ssl=false,writeBuffer=10240,prefix=key前辍" ,
   "127.0.0.1:6373,password=123,defaultDatabase=13,poolsize=12,ssl=false,writeBuffer=10240,prefix=key前辍" ,
   "127.0.0.1:6374,password=123,defaultDatabase=14,poolsize=13,ssl=false,writeBuffer=10240,prefix=key前辍" );
//实现思路:根据key.GetHashCode() % 节点总数量,确定连向的节点
//也可以自定义规则(第一个参数设置)
 
//mvc分布式缓存注入 nuget Install-Package Caching.CSRedis
 
//初始化 RedisHelper
RedisHelper.Initialization(csredis,
   value => Newtonsoft.Json.JsonConvert.SerializeObject(value),
   deserialize: (data, type) => Newtonsoft.Json.JsonConvert.DeserializeObject(data, type));
//注册mvc分布式缓存
services.AddSingleton<IDistributedCache>( new  Microsoft.Extensions.Caching.Redis.CSRedisCache(RedisHelper.Instance));
 
//提示:CSRedis.CSRedisClient 单例模式够用了,强烈建议使用 RedisHelper 静态类
RedisHelper.Set( "test1" "123123" , 60);
RedisHelper.Get( "test1" );
//...函数名基本与 redis-cli 的命令相同

 

//使用缓存壳效果
var  t1 = RedisHelper.CacheShell( "test1" , 10, () => Test.Select.WhereId(1).ToOne());
var  t2 = RedisHelper.CacheShell( "test" "1" , 10, () => Test.Select.WhereId(1).ToOne());
var  t3 = RedisHelper.CacheShell( "test" new  [] {  "1" "2"  }, 10, notCacheFields =>  new  [] {
   ( "1" , Test.Select.WhereId(1).ToOne()),
   ( "2" , Test.Select.WhereId(2).ToOne())
});
 
//清空缓存
 
using (var conn = RedisHelper.Instance.ClusterNodes.Values.First().GetConnection()) { conn.Client.FlushAll(); }
 

来源:https://www.cnblogs.com/kellynic/p/9325816.html#commentform  

转载于:https://www.cnblogs.com/langhaoabcd/p/10446289.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值