在ASPNET CORE中使用REDIS管理缓存数据

写在前面:在系统设计过程中,通常需要对成本较高或频繁使用的资源做缓存处理。Redis是一个key-value形成的存储系统,数据存放在内存中,Redits重启数据就会丢失,说以在实际应用中有必要对Redis存储的数据持久化处理。本文简单介绍下如何在AspNet Core中使用Redis。

参考链接:
1,Redis-based distributed cache in ASP.NET Core
2,Using Redis Cache for session data storage in ASP.NET Core
3,ASP.NET Core 使用 Redis 客户端
4,Redis命令
5,Redis入门练习资源
6,chocolatey的安装。
7,Redis的安装

Redis安装(Windows系统):
1,安装Chocolatey(Windwos包管理工具)
方式一:管理员身份运行命令行工具(cmd),并执行下面的代码

方式二:管理员身份运行PowerShell,并执行下面的代码

安装完成后,输入choco并回车,显示版本信息,表示安装成功。

2,使用Chocolatey安装Redis
运行控制台或PowerShell,并执行下面的代码

安装完成后,输入redis-server -v可查看安装版本信息。输入redis-server启动Redis服务(可通过命令redis-server --service-install redis.windows.conf --loglevel verbose安装Redis服务器,并将服务设置为开机自动启动),配置文件redis.windows.conf在Redis所在安装目录。


输入redis-cli,启动客户端,连接到Redis服务。Redis提供的命令,参考参考链接4.

3,使用Redits
1).新建AspNet Core Web应用,添加Microsoft.Extensions.Caching.Redis包。
2).添加下图配置信息(也可使用代码控制),如果Redis有多个数据库,可通过defaultDatabase指定要使用的数据库:

3).注册Redis分布式缓存服务到DI容器

4),将分布式缓存服务注入到控制器,并执行新增key-value值操作。
本示例功能是:进入Index,以当天日期为key,当前完整日期与时间为value存储在Redis。(以字节方式存储)

5),执行hgetall 20181112命令查看存储的对象。
字节在Redis是以Hash类型存储,在应用在应用读取(get)/存储(set) 对象后,须进行byte[]与string类型间的转换。

6),字符串的存取操作。

注意事项:Microsoft.Extensions.Caching.Redis的SetString()方法,调用的是Redis的HMSET命令,是以HASH类型存储(参考链接1)。在应用中可直接使用GetString()获取到字符串的值,但在Redis中,仍要使用hgetall 键来查看数据内容。

为您推荐

发表评论