在.Net中操作redis
在.Net中操作redis
一、环境
- .Net 7
- redis 7.2.4
二、所需类包
- StackExchange.Redis
三、连接redis信息
appsettings.json
配置redis连接信息
// Redis配置
//"Redis": {
// "Default": {
// "Connection": "", // 连接地址,端口号,密码
// "InstanceName": "", // 实例名
// "DefaultDB": "1" // 数据库
// }
//},
"Redis": {
"Host": "120.xxx.xx.xx", // ip地址
"Port": "6379", // 端口
"password": "123456", // redis密码
"InstanceName": "local", // 实例名称
"DefaultDb": 1, // 连接的库
"maxWritePoolSize": 60,
"maxReadPoolSize": 60,
"autoStart": true,
"ConnectTimeout": 60, // 超时
"KeepAlive": 5, // 保存x秒的活动连接
"recordeLog": false,
"preName": "test_" // key的前缀
},
四、实例
using AspNetFrame.Domain.Entity.User;
using AspNetFrame.Domain.Service;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using StackExchange.Redis;
using System.Security.Policy;
using System;
namespace AspNetFrame.Api.Controller.Redis
{
[ApiController]
[Route("[controller]/[action]")]
public class RedisCnnTestController : ControllerBase
{
private readonly IConfiguration _configuration;
private IDatabase cache;
private ConnectionMultiplexer connection;
public RedisCnnTestController(IConfiguration configuration)
{
_configuration = configuration;
string redisHost = _configuration["Redis:host"]; // 连接的url
int redisPort = int.Parse(_configuration["Redis:port"]); // 端口
string Password =_configuration["Redis:Password"]; // 连接密码
int DefaultDatabase = int.Parse(_configuration["Redis:DefaultDb"]); // 数据库
int ConnectTimeout = int.Parse(_configuration["Redis:ConnectTimeout"]); // 超时时间
int KeepAlive = int.Parse(_configuration["Redis:KeepAlive"]); // 保存x秒的活动连接
// 连接配置
var configurationOptions = new ConfigurationOptions
{
EndPoints =
{
{ redisHost, redisPort },
},
DefaultDatabase = DefaultDatabase,
KeepAlive = KeepAlive, // 保存x秒的活动连接
Password = Password, // 连接密码
ConnectTimeout = ConnectTimeout, //超时时间
AllowAdmin = true,
};
connection = ConnectionMultiplexer.Connect(configurationOptions);
cache = connection.GetDatabase();
}
public JsonResult Test()
{
//string redisHost = _configuration["Redis:host"]; // 连接的url
//int redisPort = int.Parse(_configuration["Redis:port"]); // 端口
//string pwd = _configuration["Redis:Password"];
cache.StringSet("test", "hello");
string test = cache.StringGet("test");
JsonResult json = new JsonResult(new
{
code = 200,
msg = test
});
return json;
}
[HttpPost]
public JsonResult Test2()
{
LoginUser loginUser = new LoginUser()
{
UserName = "admin",
Password = "admin",
AuthorityId = 1,
};
LoginUser loginUser2 = new LoginUser()
{
UserName = "admin2",
Password = "admin2",
AuthorityId = 1,
};
List<LoginUser> loginUsers = new List<LoginUser>() { loginUser, loginUser2 };
cache.StringSet("loginUserList", JsonConvert.SerializeObject(loginUsers), TimeSpan.FromMinutes(10)); // 过期时间为10分钟
cache.StringSet("loginUser_admin", JsonConvert.SerializeObject(loginUser), TimeSpan.FromMinutes(10));
cache.StringSet("test", "hello");
LoginUser redisLoginUser = JsonConvert.DeserializeObject<LoginUser>(cache.StringGet("loginUser_admin"));
string test = cache.StringGet("test");
JsonResult json = new JsonResult(new
{
code = 200,
msg = test,
result= redisLoginUser
});
return json;
}
}
}
五、调用api结果
可视化工具:Another Redis Desktop Manager
redis中数据
这样就把list数据存入了redis中
在.Net中操作redis的更多相关文章
- Redis入门教程(三)— Java中操作Redis
在Redis的官网上,我们可以看到Redis的Java客户端众多 其中,Jedis是Redis官方推荐,也是使用用户最多的Java客户端. 开始前的准备 使用jedis使用到的jedis-2.1.0. ...
- Python中操作Redis
一 Rdis基本介绍 redis是一个key-value存储系统.它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set -- ...
- redis的安装使用以及在python中操作redis
一.Redis介绍: Redis可以看作是一个key-value的存储系统,它为我们提供了丰富的数据结构,包括lists,sets,ordered sets和hashes.还包括了对这些数据结构的丰富 ...
- 项目中操作redis改brpop阻塞模式为订阅模式的实现-java实习笔记二
更改项目需求以及项目之前阻塞模式问题的叙述已经在上一篇说过了,详情可参考:https://www.cnblogs.com/darope/p/10276213.html ,https://yq.ali ...
- Django中操作Redis
一 创建redis连接池 redis_pool.py pool = redis.ConnectionPool(host='10.211.55.4', port=6379) 二 引入连接池 import ...
- Java中操作Redis
一.server端安装 1.下载 https://github.com/MSOpenTech/redis 可看到当前可下载版本:redis2.6 下载后的文件为: 解压后,选择当前64位win7系统对 ...
- 在centos7中安装redis,并通过node.js操作redis
引言 最近在学习node.js 连接redis的模块,所以尝试了一下在虚拟机中安装cent OS7,并安装redis,并使用node.js 操作redis.所以顺便做个笔记. 如有不对的地方,欢迎大家 ...
- Java Spring mvc 操作 Redis 及 Redis 集群
本文原创,转载请注明:http://www.cnblogs.com/fengzheng/p/5941953.html 关于 Redis 集群搭建可以参考我的另一篇文章 Redis集群搭建与简单使用 R ...
- 在SpringBoot中引入Redis
前言 之前我们只是在Spring中加入Redis用于session的存放,并没有对redis进行主动的存放,这次我们需要加入redis工具类来方便我们在实际使用过程中操作redis 已经加入我的git ...
- .Net中初探Redis
一.简介 Redis是著名的NOSQL数据库,本质就是存储键值对结构的数据,为存储键值对数据做了优化,在大型网站中应用很多.Redis提供了数据的自动过期处理,因此适合存储临时数据. 和Redis类似 ...
随机推荐
- MongoDB4.0.11服务没有响应控制功能解决办法
如图 MongDB安装好后启动服务失败 解决办法 进入到你的MongDB bin目录下执行 mongod.exe --remove --serviceName "MongoDB" ...
- mybatis调用Oracle存储过程 带游标
存储过程 CREATE OR REPLACE PROCEDURE proc_test2(p_id IN NUMBER, v_cur OUT SYS_REFCURSOR, p_result_code O ...
- KingbaseES Json 系列七:Json记录操作函数二
KingbaseES Json 系列七--Json记录操作函数二(JSONB_POPULATE_RECORD,JSONB_POPULATE_RECORDSET,JSON_POPULATE_RECORD ...
- 第十三届蓝桥杯大赛软件赛省赛【Java 大学B 组】试题D: 最少刷题数
1 import java.util.ArrayList; 2 import java.util.Scanner; 3 4 public class Main { 5 public static vo ...
- python 国家标准行业编码标准格式化处理
代码在上次的基础上做了一点优化,之前对项目要的最终结果理解有些偏差: 原始数据的那一列行业编码是存在三位数和四位数的,我上次理解的三位数就是分割成两位数进行查找,其实三位数的编码是由于第一位的0没有显 ...
- Azkaban 2.5 Documentation
Overview Azkaban was implemented at LinkedIn to solve the problem of Hadoop job dependencies. We had ...
- JS前后端交互(1)项目BotBattle
目录 交互逻辑图解 后端 前端 jQuery的ajax的编程 项目地址 交互逻辑图解 图片来源:XZHongAN 后端 RequestMapping("/pk/") public ...
- #回滚莫队,链表#洛谷 6349 [PA2011] Kangaroos
题目传送门 分析 首先区间 \([l,r]\) 与 \([L,R]\) 相交当且仅当 \(l\leq R\) 且 \(L\leq r\)(其实就是完全覆盖或者有一端点在区间中) 而且坐标范围太大了,如 ...
- JDK14中的java tools简介
目录 故事发生了 java tools简介 jaotc jar jarsigner java javac javadoc javap jcmd jconsole jdb jdeprscan jdeps ...
- OpenHarmony创新赛 | 赛事宣讲会日期重磅官宣!为你带来超详尽的赛事攻略
最近接到很多小伙伴私信提问,比如如何报名开放原子开源大赛OpenAtom OpenHarmony(简称:"OpenHarmony")创新赛?有哪些赛题可以报名参赛?现在,赛事宣 ...