.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);
}
相关推荐
小小工匠2 小时前
Redis - 基本架构:一个键值数据库到底由什么组成
数据库·redis·架构
步十人3 小时前
【Redis】网络高并发模型
网络·数据库·redis
我是一颗柠檬3 小时前
【Redis】列表与集合Day4(2026年)
数据库·redis·后端·缓存
Devin~Y4 小时前
从内容社区到AIGC客服:Spring Boot、Redis、Kafka、K8s、RAG的三轮大厂Java面试对话(附标准答案)
java·spring boot·redis·spring cloud·kafka·kubernetes·micrometer
Xzh04234 小时前
Redis黑马点评 实战复盘与面试高频考点详解
java·数据库·redis·面试
辞忧九千七5 小时前
Redis 哨兵(Sentinel)模式部署教程(基于一主二从架构)
redis·架构·sentinel
步十人5 小时前
epoll——I/O多路复用技术
linux·数据库·redis
Java 码思客6 小时前
【Redis分布式缓存实战】第4章 单机Redis部署、配置与基础优化
redis·分布式·缓存
sukioe6 小时前
Redis 入门:为什么出现、核心原理与安装配置
数据库·redis·缓存
宇砾6 小时前
浅谈Redis(1)
数据库·redis·缓存