.net core 6 redis操作类

cs 复制代码
/// <summary>
/// redis操作类
/// </summary>
public class RedisTool
{
    /// <summary>
    /// 构造
    /// </summary>
    /// <param name="configuration"></param>
    public RedisTool(IConfiguration configuration)
    {
        string redis = configuration.GetValue<string>("redis");

        CSRedisClient cSRedis = new CSRedis.CSRedisClient(redis);

        RedisHelper.Initialization(cSRedis);
    }

    /// <summary>
    /// 得到值
    /// </summary>
    /// <param name="str"></param>
    /// <returns></returns>
    public string GetRedisString(string str)
    {
        return RedisHelper.Get(str);
    }

    /// <summary>
    /// 得到值
    /// </summary>
    /// <param name="str"></param>
    /// <returns></returns>
    public bool SetRedisString(string key, string value)
    {
        return RedisHelper.Set(key, value);
    }

    /// <summary>
    /// 设置列表
    /// </summary>
    /// <param name="str"></param>
    /// <returns></returns>
    public string SetRedisList(string key, string value)
    {
        //列表前后插入
        RedisHelper.RPush<string>(key, value).ToString();
        return RedisHelper.LPush<string>(key, value).ToString();
    }

    /// <summary>
    /// 设置哈希值
    /// </summary>
    /// <param name="key">表名</param>
    /// <param name="field">字段名</param>
    /// <param name="value">值</param>
    /// <returns></returns>
    public bool SetRedisHSet(string key, string field, string value)
    {
        //相同时会更新
        return RedisHelper.HSet(key, field, value);
    }

    /// <summary>
    /// 得到哈希值
    /// </summary>
    /// <param name="key"></param>
    /// <param name="field"></param>
    /// <returns></returns>
    public string GetRedisHSet(string key, string field)
    {
        return RedisHelper.HGet(key, field);
    }

    /// <summary>
    /// 给值增加指定的值
    /// </summary>
    /// <param name="key"></param>
    /// <param name="field"></param>
    /// <returns></returns>
    public long SetRedisIncre(string key, long value)
    {
        return RedisHelper.IncrBy(key, value);
    }

    /// <summary>
    /// 是否包含
    /// </summary>
    /// <param name="key"></param>
    /// <param name="value"></param>
    /// <returns></returns>
    public bool RedisSIsMember(string key, string value)
    {
        //是否包含
        return RedisHelper.SIsMember(key, value);
    }
}

1、配置appsettings.json:

"redis": "127.0.0.1:6379,password=,defaultDatabase=1,poolsize=50,ssl=false,writeBuffer=10240"

2、用的大神国产包:CSRedisCore

追加消息发布和订阅示例(mq直连和广播模式):

cs 复制代码
/// <summary>
/// 消息发布
/// </summary>
void Publish()
{
    //RedisHelper.Publish("subscribe", "12");
    RedisHelper.LPush("subscribe", "12");
}

/// <summary>
/// 消息订阅
/// </summary>
void Subscribe()
{
    //SubscribeObject subscribeObject
    //    = RedisHelper.Subscribe(("subscribe", msg => SubscribeAction(msg.Body)));

    //取消订阅
    //subscribeObject.Dispose();

    RedisHelper.SubscribeListBroadcast("subscribe", "1", msg => SubscribeAction(msg));
    RedisHelper.SubscribeListBroadcast("subscribe", "2", msg => SubscribeAction(msg));
    RedisHelper.SubscribeListBroadcast("subscribe", "3", msg => SubscribeAction(msg));
}

/// <summary>
/// 订阅到消息
/// </summary>
/// <param name="str"></param>
void SubscribeAction(string str)
{
    Console.WriteLine(str);
}
相关推荐
heimeiyingwang9 分钟前
【中台·技术篇】缓存中台建设:Redis 集群统一管理与多级缓存架构
redis·中台
晚安日记wanna2 小时前
一条 SMEMBERS 干瘫 Redis 节点:单线程的真正边界在哪
redis·后端·面试
程序猿乐锅3 小时前
【黑马点评 | 第二篇】Redis 缓存更新策略与商铺缓存实现
java·网络·redis·spring·mybatis
MacroZheng3 小时前
Redis官方发布高颜值可视化工具,功能更是强的离谱!
java·redis·后端
灯澜忆梦3 小时前
【Redis中间件】#4 | 进阶数据类型语法
redis·后端
吉甫作诵19 小时前
Redis 常用命令大全:11 大类命令速查手册
运维·数据库·redis·缓存·nosql
hweiyu0020 小时前
Redis命令:MGET
redis·缓存
あ-21 小时前
Redis 常见问题及解决方案
redis
晚安日记wanna1 天前
Redis 持久化RDB 和 AOF 到底该怎么选
redis·面试·架构
宝桥南山1 天前
Microsoft Fabric - 简单尝试一下Microsoft Fabric .NET SDK
microsoft·微软·.net·.netcore·powerbi·fabric