当前位置:网站首页>.NET 使用 redis
.NET 使用 redis
2022-07-04 12:42:00 【华为云】
Redis 的发布订阅功能
redis 配置
Redis配置讲解(操作完记得重启Redis服务)
允许远程访问
1.修改两个配置文件:redis.windows.conf 和 redis.windows-service.conf
2.注释掉 bind 127.0.0.1
3.关闭保护模式 protected-mode no
密码
1.修改两个配置文件:redis.windows.conf 和 redis.windows-service.conf
2.开启 requirepass yourPassword
ASP.NET Core 使用redis
- 安装StackChange.Redis nuget包
- 连接字符串等数据库连接信息放在appsettings 中
- 编写数据库访问工具类
- startup注册服务
这里是手动解析配置信息,可以通过softjson自动解析
public void ConfigureServices(IServiceCollection services) { var section = Configuration.GetSection("Redis:Default"); string _connectionString = section.GetSection("Connection").Value; string _instanceName = section.GetSection("InstanceName").Value; int _defaultDB = int.Parse(section.GetSection("DefaultDB").Value ?? "0"); services.AddSingleton(new RedisHelper(_connectionString, _instanceName, _defaultDB)); services.AddControllers(); }- controller 中调用
ASP.NET CORE 中使用redis缓存
安装nuget 包
- StackExchange.Redis.Extensions.Core
- StackExchange.Redis.Extensions.AspNetCore
- StackExchange.Redis.Extensions.Newtonsoft
appsettings配置文件添加
"Redis": { "Password": "123456", "AllowAdmin": true, "Ssl": false, "ConnectTimeout": 6000, "ConnectRetry": 2, "Database": 0, "Hosts": [ { "Host": "127.0.0.1", "Port": "6379" } ] }startup 注册服务
public void ConfigureServices(IServiceCollection services){ var redisConfiguration = Configuration.GetSection("Redis").Get<RedisConfiguration>(); services.AddControllersWithViews(); services.AddStackExchangeRedisExtensions<NewtonsoftSerializer>(redisConfiguration);}服务注入
private readonly RedisCacheClient _redisCacheClient; public TestController(IRedis redisCacheClient) { _redisCacheClient = redisCacheClient; }使用
public async Task<IActionResult> Index4() { var productdata = await _redisCacheClient.Db0.GetAsync<Product>("Product"); return View(); }.net 中 redis 的发布订阅
主要使用代码:订阅
using (ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("127.0.0.1:6379")){ ISubscriber sub = redis.GetSubscriber(); //订阅名为 messages 的通道 sub.Subscribe("messages", (channel, message) => { //输出收到的消息 Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] {message}"); }); Console.WriteLine("已订阅 messages"); Console.ReadKey();}发布
//创建连接using (ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("127.0.0.1:6379")){ ISubscriber sub = redis.GetSubscriber(); Console.WriteLine("请输入任意字符,输入exit退出"); string input; do { input = Console.ReadLine(); sub.Publish("messages", input); } while (input != "exit");}边栏推荐
- 洞见科技解决方案总监薛婧:联邦学习助力数据要素安全流通
- Why can the implementation class of abstractdispatcherservletinitializer be called when initializing the web container
- Apache server access log access Log settings
- 聊聊支付流程的设计与实现逻辑
- 众昂矿业:为保障萤石足量供应,开源节流势在必行
- MySQL three-level distribution agent relationship storage
- 使用 NSProxy 实现消息转发
- CVPR 2022 | TransFusion:用Transformer进行3D目标检测的激光雷达-相机融合
- 「小技巧」给Seurat对象瘦瘦身
- CA:用于移动端的高效坐标注意力机制 | CVPR 2021
猜你喜欢

Personalized online cloud database hybrid optimization system | SIGMOD 2022 selected papers interpretation

实时云交互如何助力教育行业发展

【云原生 | Kubernetes篇】深入了解Ingress(十二)

ArcGIS uses grid processing tools for image clipping

阿里云有奖体验:用PolarDB-X搭建一个高可用系统

After the game starts, you will be prompted to install HMS core. Click Cancel, and you will not be prompted to install HMS core again (initialization failure returns 907135003)
高效!用虚拟用户搭建FTP工作环境

C#/VB. Net to add text / image watermarks to PDF documents

一个数据人对领域模型理解与深入

Reinforcement learning - learning notes 1 | basic concepts
随机推荐
eclipse链接数据库中测试SQL语句删除出现SQL语句语法错误
Don't turn down, three sentences to clarify the origin of cross domain resource request errors
"Pre training weekly" issue 52: shielding visual pre training and goal-oriented dialogue
Practice: fabric user certificate revocation operation process
Use fail2ban to prevent password attempts
WPF double slider control and forced capture of mouse event focus
[FAQ] summary of common causes and solutions of Huawei account service error 907135701
6 分钟看完 BGP 协议。
Building intelligent gray-scale data system from 0 to 1: Taking vivo game center as an example
CTF competition problem solution STM32 reverse introduction
Alibaba cloud award winning experience: build a highly available system with polardb-x
「小技巧」给Seurat对象瘦瘦身
Comprehensive evaluation of modular note taking software: craft, notation, flowus
CANN算子:利用迭代器高效实现Tensor数据切割分块处理
提高MySQL深分页查询效率的三种方案
DGraph: 大规模动态图数据集
MDK在头文件中使用预编译器时,#ifdef 无效的问题
AI painting minimalist tutorial
Cann operator: using iterators to efficiently realize tensor data cutting and blocking processing
CA:用于移动端的高效坐标注意力机制 | CVPR 2021