前面写过了 .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)】指的是生命周期,如果不加则是默认的长时间。
更多的参考:
转载请注明:隨習筆記 » .Net Core 笔记: Redis