.net core 6 redis操作类

news/2024/5/19 23:39:59 标签: .netcore, redis
/// <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直连和广播模式):

/// <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);
}


http://www.niftyadmin.cn/n/5320802.html

相关文章

【目标检测】评价指标:混淆矩阵概念及其计算方法(yolo源码)

本篇文章首先介绍目标检测任务中的评价指标混淆矩阵的概念&#xff0c;然后介绍其在yolo源码中的实现方法。 目标检测中的评价指标&#xff1a; mAP概念及其计算方法(yolo源码/pycocotools) 混淆矩阵概念及其计算方法(yolo源码) 本文目录 1 概念2 计算方法 1 概念 在分类任务中…

Spark与HBase的集成与数据访问

Apache Spark和Apache HBase分别是大数据处理和分布式NoSQL数据库领域的两个重要工具。在本文中&#xff0c;将深入探讨如何在Spark中集成HBase&#xff0c;并演示如何通过Spark访问和操作HBase中的数据。将提供丰富的示例代码&#xff0c;以便更好地理解这一集成过程。 Spark…

2401d,ddip1027如何支持sql

原文 以下是DIP1036的SQL支持方式: 这里 auto execi(Args...)(Sqlite db, InterpolationHeader header, Args args, InterpolationFooter footer) {import arsd.sqlite;//SQLite允许你执行?1,?2等操作enum string query () {string sql;int number;import std.conv;foreach…

【AI大模型应用开发】1.1 Prompt Engineering(提示词工程)- 用OpenAI API实战,优化方法论总结

书接上文 【AI大模型应用开发】1.0 Prompt Engineering&#xff08;提示词工程&#xff09;- 典型构成、原则与技巧&#xff0c;代码中加入Prompt&#xff0c;我们开始实战。 文章目录 0. 从最简单的开始0.1 通用代码封装0.2 使用 - 从最简单的Prompt开始0.2.1 temperature参数…

【C】存储类别(作用域、链接、存储期)

C提供了多种不同的模型或存储类别在内存中存储数据。从硬件方面来看&#xff0c;被存储的每个值都占有一定的物理内存&#xff0c;C语言把这样的一块内存称为对象。对象可以存储一个或多个值。一个对象可能并未存储实际的值&#xff0c;但是它在存储适当的值时一定具有相应的大…

Zabbix6.0全套落地方案-基于RHEL9系列源码编译安装-Linux+Nginx+Mysql+Redis生产级模板及Agent2客户端一键部署

实践说明&#xff1a;基于RHEL9系列(CentOS9,AlmaLinux9,RockyLinux9等)&#xff0c;但适用场景不限于此&#xff0c;客户端一键部署安装包基于RHEL8和RHEL9。 文档形成时期&#xff1a;2023年 因系统或软件版本不同&#xff0c;构建部署可能略有差异&#xff0c;但本文未做细分…

事关年终奖,速看!年终奖应该如何设定结构,提高激励性?

随着2024年的临近&#xff0c;员工们对于年终奖的发放满怀期待&#xff0c;而企业管理者则又到了大费周章的时候。年终奖的发放方式、内容以及金额&#xff0c;成为困扰每个管理者的难题。为什么年终奖发放后&#xff0c;大家的积极性没有得到提高&#xff1f;该激励的没激励到…

STM32CubeMX配置STM32G071UART+DMA收发数据(HAL库开发)

时钟配置HSI主频配置64M 配置好串口&#xff0c;选择异步模式 配置DMA TX,RX,选择循环模式。 NVIC中勾选使能中断 勾选生成独立的.c和h文件 配置好需要的开发环境并获取代码 串口重定向勾选Use Micro LIB main.c文件修改 增加头文件和串口重定向 #include <string.h&g…