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. 输出结果