为什么选择CSRedisCore
ServiceStack.Redis 是商业版,免费版有限制;
StackExchange.Redis 是免费版,但是内核在 .NETCore 运行有问题经常 Timeout,暂无法解决;
CSRedis于2016年开始支持.NETCore一直迭代至今,实现了低门槛、高性能,和分区高级玩法的.NETCore redis-cli SDK;
在v3.0版本更新中,CSRedis中的所有方法名称进行了调整,使其和redis-cli保持一致,如果你熟悉redis-cli的命令的话,CSRedis可以直接上手,这样学习成本就降低很多。
如何集成:引用和配置
1 2 3 4 5 6 7 8 9 10 |
{
//Redis服务配置 "Redis": {
"Default": {
"Connection": "192.168.1.101:6379", "InstanceName": "local", "DefaultDB": 0 } } } |
如何集成:redis 控制台 引用方式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
using CSRedis; namespace RedisCommon {
public class RedisInit {
public static void RedisInitialization() {
string connection = Appsettings.Instance.GetByKey("Redis:Default:Connection"); string defaultDB = Appsettings.Instance.GetByKey("Redis:Default:DefaultDB"); var csRedis = new CSRedisClient($"{connection},defaultDatabase={defaultDB},prefix=test"); RedisHelper.Initialization(csRedis); } } } |
1 2 3 4 5 |
static void Main(string[] args) {
//初始化Redis RedisInit.RedisInitialization(); } |
如何集成:redis webapi 引用方式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
/// < summary > /// 初始化Redis缓存 /// </ summary > private void InitRedis() {
//redis缓存 var section = Configuration.GetSection("Redis:Default"); //连接字符串 string _connectionString = section.GetSection("Connection").Value; //默认数据库 int _defaultDB = int.Parse(section.GetSection("DefaultDB").Value ?? "0"); var csredis = new CSRedis.CSRedisClient($"{_connectionString},defaultDatabase={_defaultDB},idleTimeout=3000,poolsize=5,prefix=GYG-API:KEY_"); RedisHelper.Initialization(csredis); } |