.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