每天学习一点点,成功增加一大步

.Net Core 笔记: Redis

C# zhanghui 479℃

前面写过了 .net core 与关系型数据库(MySQL)的交互,现在再记录下与 nosql 数据库(Redis),在现在开发应用中这种高性能的 key-value 数据库,甚至可以完全用作 session , 以前用 php 自带的 session 来存储交互数据还存在一定的局限性,但 redis 就可以存储不同类型的数据,相对来说强大了很多,而且还可以生命周期的控制非常方便,不过就资费高了点只用于企业级应用的开发。

网上说在 .net core 只有两种工具可用于对 redis 的操作,分别是:StackExchange.Redis 和 Microsoft.Extensions.Caching.Redis 。下面记录下这两种工具在 webapi 中应用的情况。

一、StackExchange.Redis 工具

1.1、准备

安装依赖库 【StackExchange.Redis】,但在练习的项目中发现最新版的 .net core 2 不需要这步的操作。

然后在项目中 using  一下需要用到的东西。

using StackExchange.Redis;

1.2、redis 服务连接字符串

public static string ConnectionString
{
get { return "host:6379,allowAdmin=true,password=youPwd,defaultdatabase=5"; }
}

这代码里面有个【 defaultdatabase=5 】 它的作用是将 key 存入到 redis 的哪个版本库中,这个可不输入,当不输入时默认存入到的版本库是 【DB0】,而上面的代码设置了之后就存入到了 【DB5】中。

1.3、基本用法

// <summary>
// Redis 的 存取 操作
// </summary>
// <returns>
// {"redisValue":"abcdefg"}
// </returns>
private dynamic setAndGet()
{
ConnectionMultiplexer redis = ConnectionMultiplexer.Connect(ConnectionString);
IDatabase db = redis.GetDatabase();
string key = "test_key";
db.StringSet(key, "abcdefg", TimeSpan.FromSeconds(5));
string redisValue = db.StringGet(key);
// 删除 key
// db.KeyDelete(key);
return new { redisValue };
}

面上面代码中的 【TimeSpan.FromSeconds(5)】指的是生命周期,如果不加则是默认的长时间。

更多的参考:

https://stackexchange.github.io/StackExchange.Redis/

转载请注明:隨習筆記 » .Net Core 笔记: Redis