.NET 8 中使用CSRedisCore 操作Redis详解

前言:
.Net中操作Redis的库有几个比较经典的,如ServiceStack.RedisStackExchange.Redis,但是都有各自的缺点
ServiceStack.Redis是商业版,免费版有限制;
StackExchange.Redis是免费版,早期有TimeoutBug,当前版本使用需要全部使用异步方法方可解决;
所以都不推荐使用了,目前比较好用的是 CSRedisCore这个库,优点很多,如

1、CSRedisClient和RedisHelper保持所有方法名与redis-cli一致
2、支持geo类型命令(需要redis-server 3.2或更高版本)
3、支持Redis集群redis-trib.rb
4、支持Redis哨兵和主从
5、支持流类型命令(需要redis-server 5.0及更高版本)
6、反序列对象获取,如:Get<byte[]>、HGet<byte[]>,所以获取方法都重载了,默认获取仍然是string;
7、SafeObjectPool 的引入使用;
等等。。。
目前官方有2个库分别是
(1).CSRedisCore:主库,实现对接 redis各种功能
(2).Caching.CSRedis:分布式缓存 CSRedisCore 实现 Microsoft.Extensions.Caching
下面就具体介绍一下CSRedisCore.Net WebApi 项目中常用的方式:
使用方式上就有2中形式:
用法1、CSRedisClient实例化的对象

    var rds = new CSRedis.CSRedisClient("127.0.0.1:6379,password=YourPassword");
    services.AddSingleton(rds);   //注册成全局单例

用法2-RedisHelper帮助类

    var rds = new CSRedis.CSRedisClient("127.0.0.1:6379,password=YourPassword");//如果你没有给redis设置密码,那么直接写上ip就行"127.0.0.1:6379"
    RedisHelper.Initialization(rds);

关于连接字符串的介绍,有需要的时候可以自己加入

参数名默认值说明
password<空>密码
defaultDatabase0默认数据库
poolsize50连接池大小
connectTimeout5000连接超时设置(毫秒)
syncTimeout10000发送/接收超时设置(毫秒)
idleTimeout0连接池内元素空闲时间(毫秒),适用连接远程redis-server
preheattrue预热连接
sslfalse是否开启加密传输
writeBuffer10240异步方法写入缓冲区大小(字节)
tryit0执行命令出错,尝试重试的次数
name<空>连接名称,可以使用 Client List 命令查看
prefix<空>key前辍,所有方法都会附带此前辍,csredis.Set(prefix + “key”, 111);

以上两种都可以,我自己比较常用第二种静态帮助类的方式,到处都可以直接用,比较方便,下面介绍常用的方法
1、存取操作

   RedisHelper.Set("test1", "123123", 60);
   RedisHelper.Get("test1");

2、发布订阅

   //发布
   RedisHelper.Publish("chan1", "123123123");
   //订阅
   RedisHelper.Subscribe(
    ("chan1", msg => Console.WriteLine(msg.Body)),
    ("chan2", msg => Console.WriteLine(msg.Body))
   );

先介绍这两种比较常用的操作,后续用到其它的会继续更新。。。

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值