在.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类似 ...
随机推荐
- 学习Source Generators之HelloWorld
介绍 源生成器是 C# 开发人员可以编写的一种新组件,允许执行两个主要操作: 检索表示正在编译的所有用户代码的编译对象. 可以检查此对象,并且可以编写适用于正在编译的代码的语法和语义模型的代码,就像现 ...
- 标准库unsafe:带你突破golang中的类型限制
本文分享自华为云社区<突破语言golang中的类型限制>,作者:码乐. 1 简介 在使用c语言编程时,常常因为类型的问题大伤脑筋,而其他语言比如java,python默认类型又是难以改变的 ...
- python爬虫配置随机请求头headers伪装User-Agent
python爬虫随机headers伪装fake_useragent fake_useragent 库 调用方法ua.random可以随机返回一个headers(User-Agent) from fak ...
- van-cell如何使用插槽
van-cell 是 Vant 组件库中的一个单元格组件,用于展示列表中的信息.Vant 是一个轻量.可靠的移动端 Vue 组件库. 在 Vant 中,van-cell 组件提供了多个插槽(slot) ...
- Jetty的ssl模块
启用ssl模块,执行如下命令: java -jar $JETTY_HOME/start.jar --add-modules=ssl 命令的输出,如下: INFO : ssl initialized i ...
- MySQL的下载、安装和配置
一.MySQL的下载 下载地址:http://dev.mysql.com/downloads/mysql 进入下载页面,选择所需版本,这里示范MySQL8.0 图一 选择版本,下载MSI(软件安装 ...
- Windows Server 2008 R2修复永恒之蓝漏洞
一.情况描述 服务器安装的Windows Server 2008 R2 standard系统,通过扫描发现系统存在永恒之蓝漏洞MS17-010(CVE-2017-0143.CVE-2017-0144. ...
- CTFshow Reverse 逆向4 学习记录
题目 分析过程 是一个无壳,64位的文件 丢到IDA里面,找到main函数 1 int __cdecl __noreturn main(int argc, const char **argv, con ...
- pytest-fixture使用
fixture(scope='function',params=None,autouse=False,ids=None,name=None):scope:设置作用域:params:传参数,以列表进行存 ...
- boltdb 介绍
介绍 BoltDB 是一个用 Go 语言编写的嵌入式键/值数据库.以下是关于 BoltDB 的一些基本介绍: 键/值存储: BoltDB 为应用程序提供了简单的键/值存储接口. 事务: BoltDB ...