.NET Core Redis的简单使用
1、Redis简介
Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。
2、Redis主要特点
Redis支持数据的持久化
Redis支持多种数据结构
Redis支持数据的备份
3、Redis的下载安装
windows版本Redis下载链接:https://github.com/tporadowski/redis/releases
选择.zip免安装版本可直接通过命令使用。

在Windows终端(可直接在解压文件夹右键选择[在Windows终端打开])。

或者cmd控制台进入到Redis的解压文件夹运行指令
4、Redis的常用指令
安装服务:redis-server --service-install
卸载服务:redis-server --service-uninstall
开启服务:redis-server --service-start
停止服务:redis-server --service-stop
服务端启动时重命名:redis-server --service-start --service-name Redis1
启动客户端:redis-cli
推出客户端:quit
1)启动Redis服务

2)安装Redis服务为本地服务

3)安装完成,可以设置为自启动也可以手动启动
5、Redis在.NET Core的简单使用
1)新建ASP.NET Core Web API项目
打开NuGet包管理器安装StackExchange.Redis(注:本demo为VS2022新建,默认提供的天气预报的类和控制器)

2)新建Redis帮助类
/// <summary>
/// Redis帮助类
/// </summary>
public class RedisHelper
{
public ConnectionMultiplexer redis { get; set; }
public IDatabase db { get; set; }
public RedisHelper(string connection)
{
redis = ConnectionMultiplexer.Connect(connection);
db = redis.GetDatabase();
}
/// <summary>
/// 增加/修改
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <returns></returns>
public bool SetValue(string key, string value)
{
return db.StringSet(key, value);
}
/// <summary>
/// 查询
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public string GetValue(string key)
{
return db.StringGet(key);
}
/// <summary>
/// 删除
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public bool DeleteKey(string key)
{
return db.KeyDelete(key);
}
}
3)新建返回结果类
/// <summary>
/// 返回结果类
/// </summary>
public class Result
{
/// <summary>
/// 执行结果
/// </summary>
public bool ImplementationResults { get; set; }
/// <summary>
/// Value的实时值
/// </summary>
public string Value { get; set; }
/// <summary>
/// 缓存的Value值
/// </summary>
public string CacheValue { get; set; }
/// <summary>
/// 错误信息
/// </summary>
public string Error { get; set; }
}
4)控制器类
[ApiController]
[Route("[controller]/[action]")]
public class WeatherForecastController : ControllerBase
{
public WeatherForecastController()
{
}
// 连接Redis客户端
RedisHelper redisHelper = new RedisHelper("127.0.0.1:6379");
string value = "this is a test redis string";
Result result = null;
/// <summary>
/// 查询
/// </summary>
/// <param name="key">key</param>
/// <returns></returns>
[HttpGet, HttpPost]
public string Search(string key)
{
string returnStr = "";
if (!string.IsNullOrWhiteSpace(key))
{
string value = redisHelper.GetValue(key);
if (!string.IsNullOrWhiteSpace(value))
returnStr = value;
else
returnStr = "key的值不存在!";
} else
returnStr = "key的值不能为空!";
return returnStr;
}
/// <summary>
/// 新增
/// </summary>
/// <param name="key">key</param>
/// <returns></returns>
[HttpGet, HttpPost]
public Result Insert(string key)
{
result = new Result();
if (!string.IsNullOrWhiteSpace(key))
{
bool isInsertSuccess = redisHelper.SetValue(key, value);
result.ImplementationResults = isInsertSuccess;
if (isInsertSuccess)
{
// 查询mytestkey的实时值
var info = Search("mytestkey");
if (!string.IsNullOrWhiteSpace(info))
result.Value = info;
}
} else
result.Error = "key的值不能为空!";
return result;
}
/// <summary>
/// 修改
/// </summary>
/// <param name="key">key</param>
/// <param name="newValue">新的value值</param>
/// <returns></returns>
[HttpGet, HttpPost]
public Result Update(string key, string newValue)
{
result = new Result();
if (!string.IsNullOrWhiteSpace(key))
{
bool isUpdateSuccess = redisHelper.SetValue(key, newValue);
result.ImplementationResults = isUpdateSuccess;
// 查询mytestkey的实时值
var info = Search(key);
if (!string.IsNullOrWhiteSpace(info))
result.Value = info;
} else
result.Error = "key的值不能为空!";
return result;
}
/// <summary>
/// 删除
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
[HttpGet, HttpPost]
public Result Delete(string key)
{
result = new Result();
if (!string.IsNullOrWhiteSpace(key))
{
// 查询mytestkey的实时值
var info = Search(key);
if (!string.IsNullOrWhiteSpace(info))
result.Value = info;
bool isDeleteSuccess = redisHelper.DeleteKey(key);
result.ImplementationResults = isDeleteSuccess;
if (isDeleteSuccess)
{
// 查询mytestkey的缓存值
var infoCache = Search(key);
if (!string.IsNullOrWhiteSpace(infoCache))
result.CacheValue = "缓存值查询结果:" + infoCache;
}
} else
result.Error = "key的值不能为空!";
return result;
}
}
5)Startup.cs中添加swagger文档注释
生成带有注释的swagger文档
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "RedisDemo", Version = "v1" });
var basePath = PlatformServices.Default.Application.ApplicationBasePath;
var xmlPath = Path.Combine(basePath, "APIHelp.xml");
c.IncludeXmlComments(xmlPath, true);
});
}
直接在swagger中测试执行

测试之前要在Redis中添加key的值,下面简单介绍一下Redis可视化软件
6、Redis可视化软件
1)RedisDesktopManager(付费软件)
官方GitHub:https://github.com/uglide/RedisDesktopManager
Windows版本下载链接:https://github.com/lework/RedisDesktopManager-Windows/releases
1、输入实例名,连接地址和端口号连接到Redis

2、新建key,可随时Reload刷新查看key及其value的变化

2) Redis Assistant(免费,推荐)
使用方法与RedisDesktopManager相同,使用截图如下
1、输入实例名,连接地址和端口号连接到Redis

2、新建key,可随时点击左上角工具栏的刷新按钮查看key及其value的变化

7、附录
Redis官网链接:https://redis.io/
Redis官方GitHub:https://github.com/redis/redis/releases
Redis下载链接:http://download.redis.io/releases/
以上就是.NET Core Redis的简单使用的介绍,做此记录,如有帮助,欢迎点赞关注收藏!
.NET Core Redis的简单使用的更多相关文章
- c#实例化继承类,必须对被继承类的程序集做引用 .net core Redis分布式缓存客户端实现逻辑分析及示例demo 数据库笔记之索引和事务 centos 7下安装python 3.6笔记 你大波哥~ C#开源框架(转载) JSON C# Class Generator ---由json字符串生成C#实体类的工具
c#实例化继承类,必须对被继承类的程序集做引用 0x00 问题 类型“Model.NewModel”在未被引用的程序集中定义.必须添加对程序集“Model, Version=1.0.0.0, Cu ...
- .Net Core Web Api实践(三).net core+Redis+docker实现Session共享
前言:上篇文章介绍了.net core+Redis+IIS+nginx实现Session共享,本来打算直接说明后续填坑过程,但毕竟好多坑是用docker部署后出现的,原计划简单提一下.net core ...
- Hangfire在ASP.NET CORE中的简单实现
hangfire是执行后台任务的利器,具体请看官网介绍:https://www.hangfire.io/ 新建一个asp.net core mvc 项目 引入nuget包 Hangfire.AspNe ...
- Net Core平台灵活简单的日志记录框架NLog+SqlServer初体验
Net Core平台灵活简单的日志记录框架NLog+SqlServer初体验 前几天分享的"[Net Core平台灵活简单的日志记录框架NLog+Mysql组合初体验][http://www ...
- Net Core平台灵活简单的日志记录框架NLog+Mysql组合初体验
Net Core平台灵活简单的日志记录框架NLog初体验 前几天分享的"[Net Core集成Exceptionless分布式日志功能以及全局异常过滤][https://www.cnblog ...
- redis 的简单命令
以下实例讲解了如何启动 redis 客户端: 启动 redis 客户端,打开终端并输入命令 redis-cli.该命令会连接本地的 redis 服务. $redis-cli redis > re ...
- Redis的简单了解以及主从复制
1.Redis的简单了解 Redis是一种高性能的分布式NoSql数据库,持久存储,高并发,数据类型丰富,通过现场申请内存空间,同时可以配置虚拟内存.五种数据类型:string(字符串,这种格式和me ...
- 给 asp.net core 写一个简单的健康检查
给 asp.net core 写一个简单的健康检查 Intro 健康检查可以帮助我们知道应用的当前状态是不是处于良好状态,现在无论是 docker 还是 k8s 还是现在大多数的服务注册发现大多都提供 ...
- Redis主从复制简单介绍
由于本地环境的使用,所以搭建一个本地的Redis集群,本篇讲解Redis主从复制集群的搭建,使用的平台是Windows,搭建的思路和Linux上基本一致! (精读阅读本篇可能花费您15分钟,略读需5分 ...
- Redis 的简单运算
Redis 的简单运算 命令 说明 备注 incr key 在原字段上加 1 只能对整数操作 incrby key increment 在原字段上加上整数 (increment) 只能对整数操作 de ...
随机推荐
- Thinkphp6使用腾讯云发送短信步骤
1.前提条件国内短信地址:https://console.cloud.tencent.com/smsv2 已开通短信服务,具体操作请参见 国内短信快速入门.如需发送国内短信,需要先 购买国内短信套餐包 ...
- python3的可迭代对象与迭代器对象
可迭代对象与迭代器对象 通过一段简单的代码来理解这俩个概念 a = [1,2,3,4] for i in a: print(i) 这段代码很简单, 对 a 这个列表进行遍历, 然后打印输出每个元素, ...
- 解决fpdf不能写入中文问题
安装依赖 pip3 install FPDF -i https://mirrors.aliyun.com/pypi/simple fpdf 原生是php调用的,不过他也提供了python的调用方式 示 ...
- <二>强弱指针使用场景之 多线程访问共享对象问题
代码1 #include <iostream> #include <thread> using namespace std; class A { public: A() { c ...
- python3中的常见知识点2
python3中的常见知识点2 列表与栈和队列 map()函数 python列表遍历的4种方式 参考链接 列表栈和队列 1.列表作为栈使用 栈:先进后出,First In Last Out 使用 ap ...
- PAM8403 3.3V音频功放调试笔记
做I2S输出用了PT8211(实际上买到的丝印是GH8211), 双声道, LSB格式, 工作正常但是输出功率非常低, 喇叭声音要贴近了才能勉强听到, 所以打算做一个PT8211带功放的I2S模块. ...
- Flaks框架(Flask请求响应,session,闪现,请求扩展,中间件,蓝图)
目录 一:Flask请求响应 1.请求相关信息 2.flask新手四件套 3.响应相关信息(响应response增加数据返回) 二:session 1.session与cookie简介 2.在使用se ...
- 玩转 Go 生态|Hertz WebSocket 扩展简析
WebSocket 是一种可以在单个 TCP 连接上进行全双工通信,位于 OSI 模型的应用层.WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据.在 W ...
- VSCTF的Recovery
题目如下: from random import randint from base64 import b64encode def validate(password: str) -> bool ...
- vue3 递归组件 树形组件
递归组件 第一种方式,直接自己调用自己 Tree.vue <template> <div class="tree"> <div v-for=" ...