一,引入dll
1.servicestack.common.dll
2.servicestack.interfaces.dll
3.servicestack.redis.dll
4.servicestack.text.dll
二,修改配置文件
在你的配置文件中加入如下的代码:
1
2
3
|
<appsettings>
<add key= "redispath" value= "127.0.0.1:6379" /> todo:这里配置自己redis的ip地址和端口号
</appsettings>
|
二,用到的工具类
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
using system;
using system.collections.generic;
using system.linq;
using system.text;
using servicestack.redis;
namespace redisdemo
{
/// <summary>
/// redismanager类主要是创建链接池管理对象的
/// </summary>
public class redismanager
{
/// <summary>
/// redis配置文件信息
/// </summary>
private static string redispath = system.configuration.configurationsettings.appsettings[ "redispath" ];
private static pooledredisclientmanager _prcm;
/// <summary>
/// 静态构造方法,初始化链接池管理对象
/// </summary>
static redismanager()
{
createmanager();
}
/// <summary>
/// 创建链接池管理对象
/// </summary>
private static void createmanager()
{
_prcm = createmanager( new string [] { redispath }, new string [] { redispath });
}
private static pooledredisclientmanager createmanager( string [] readwritehosts, string [] readonlyhosts)
{
//writeserverlist:可写的redis链接地址。
//readserverlist:可读的redis链接地址。
//maxwritepoolsize:最大写链接数。
//maxreadpoolsize:最大读链接数。
//autostart:自动重启。
//localcachetime:本地缓存到期时间,单位:秒。
//recordelog:是否记录日志,该设置仅用于排查redis运行时出现的问题,如redis工作正常,请关闭该项。
//redisconfiginfo类是记录redis连接信息,此信息和配置文件中的redisconfig相呼应
// 支持读写分离,均衡负载
return new pooledredisclientmanager(readwritehosts, readonlyhosts, new redisclientmanagerconfig
{
maxwritepoolsize = 5, // “写”链接池链接数
maxreadpoolsize = 5, // “读”链接池链接数
autostart = true ,
});
}
private static ienumerable< string > splitstring( string strsource, string split)
{
return strsource.split(split.toarray());
}
/// <summary>
/// 客户端缓存操作对象
/// </summary>
public static iredisclient getclient()
{
if (_prcm == null )
{
createmanager();
}
return _prcm.getclient();
}
}
}
|
三,main方法执行存储操作与读取操作
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
27
28
29
30
31
32
33
34
35
36
|
using system;
using system.collections.generic;
using system.linq;
using system.text;
using servicestack.redis;
using servicestack.redis.support;
namespace redisdemo
{
class program
{
static void main( string [] args)
{
try
{
//获取redis操作接口
iredisclient redis = redismanager.getclient();
//放入内存
redis. set < string >( "my_name" , "小张" );
redis. set < int >( "my_age" , 12);
//保存到硬盘
redis.save();
//释放内存
redis.dispose();
//取出数据
console.writeline( "取出刚才存进去的数据 \r\n 我的name:{0}; 我的age:{1}." ,
redis. get < string >( "my_name" ), redis. get < int >( "my_age" ));
console.readkey();
}
catch (exception ex)
{
console.writeline(ex.message.tostring());
console.readkey();
}
}
}
}
|
完活,下面是运行后的结果
以上所述是小编给大家介绍的c#使用redis的基本操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://www.cnblogs.com/f-z-h/archive/2017/06/26/7080404.html