Redis官网提供了很多开源的C#客户端。例如,Nhiredis ,ServiceStack.Redis ,StackExchange.Redis等。其中ServiceStack.Redis应该算是比较流行的。它提供了一整套从Redis数据结构都强类型对象转换的机制并将对象json序列化。所以这里只介绍ServiceStack.Redis,它也是目前我们产品中所使用的客户端。
ServiceStack.Redis地址:https://github.com/ServiceStack/ServiceStack.Redis
1. 建立一个控制台应用程序,并引用以下ServiceStack.Redis相关的四个类库。或者通过Nuget进行安装Redis常用组件ServiceStack.Redis。 下载示例代码。
2. 创建一个Redis操作的公用类RedisCacheHelper,
说明:RedisCacheHelper 使用的是客户端链接池模式,这样的存取效率应该是最高的。同时也更方便的支持读写分离,均衡负载。
3. 配置文件
|
1
2
3
4
5
6
|
<!-- redis Start --><add key="SessionExpireMinutes" value="180" />
<add key="redis_server_session" value="127.0.0.1:6379" />
<add key="redis_max_read_pool" value="3" />
<add key="redis_max_write_pool" value="1" />
<!--redis end--> |
4. 测试程序调用
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Redis写入缓存:zhong");
RedisCacheHelper.Add("zhong", "zhongzhongzhong", DateTime.Now.AddDays(1));
Console.WriteLine("Redis获取缓存:zhong");
string str3 = RedisCacheHelper.Get<string>("zhong");
Console.WriteLine(str3);
Console.WriteLine("Redis获取缓存:nihao");
string str = RedisCacheHelper.Get<string>("nihao");
Console.WriteLine(str);
Console.WriteLine("Redis获取缓存:wei");
string str1 = RedisCacheHelper.Get<string>("wei");
Console.WriteLine(str1);
Console.ReadKey();
}
}
|
5. 输出结果