redis C#客户端

本篇博客介绍使用C#作为redis客户端的简单使用方法,我们会依赖ServiceStack.Redis。

新建项目并添加依赖

首先,打开全宇宙最强的IDE——Visual Studio,新建一个控制台应用程序,然后选择菜单[工具]=>[NuGet程序包管理器]=>[程序包管理器控制台],输入以下命令

Install-Package ServiceStack.Redis

等到NuGet安装好对ServiceStack.Redis的引用以后,我们在解决方案资源管理器中查看“引用”,发现NuGet为我们添加了ServiceStack.Common,ServiceStack.Interfaces,ServiceStack.Redis,ServiceStack.Test四个程序集。

连接redis server

我们在Main方法中声明一个ServiceStack.Redis.RedisClient对象,在构造方法中提供redis server的ip、端口、密码等参数

//连接到redis服务器
RedisClient redisClient = new RedisClient(new RedisEndpoint("localhost", 6379));

别忘记在最上面加入using

using ServiceStack.Redis;

通过RedisClient 操作字符串

ServiceStack.Redis提供了对各种类型的各个命令的专用方法,对字符串的专用方法如下

redisClient.Set<string>("key", "hello,world!!!");
string key = redisClient.Get<string>("key");
Console.WriteLine("key=" + key);

程序会输出

key=hello,world!!!

通过RedisClient 操作列表

redisClient.Remove("mylist");//为了方便多次运行,先把这个键删掉
//执行LPUSH命令
redisClient.PushItemToList("mylist", "a");
redisClient.PushItemToList("mylist", "b");
redisClient.PushItemToList("mylist", "c");

//执行LRANGE key 命令
List mylist= redisClient.GetRangeFromList("mylist", 0, -1);
foreach (string item in mylist)
{
    Console.WriteLine("item from mylist:" + item);
}

//执行LPOP命令
redisClient.PopItemFromList("mylist");
mylist = redisClient.GetRangeFromList("mylist", 0, -1);
Console.WriteLine("after pop...");
foreach (string item in mylist)
{
    Console.WriteLine("item from mylist:" + item);
}

程序输出如下

item from mylist:a
item from mylist:b
item from mylist:c
after pop...
item from mylist:a
item from mylist:b

通过RedisClient 操作hash

redisClient.Remove("car:100");//为了方便多次运行,先把这个键删掉
redisClient.SetEntryInHash("car:100", "Name", "Benz S600");
redisClient.SetEntryInHash("car:100", "Price", "600");
redisClient.SetEntryInHash("car:100", "Color", "black");
Dictionary car= redisClient.GetAllEntriesFromHash("car:100");
foreach (string _key in car.Keys)
{
    Console.WriteLine("{0}={1}", _key, car[_key]);
}

程序输出如下

Name=Benz S600
Price=600
Color=black

通过RedisClient 操作所有类型

多亏了全宇宙最强的IDE——Visual Studio,我能够不查API,仅仅通过智能提示框就能够猜到某种类型有哪些专用方法,不仅我找累了,估计你也看累了。不过,ServiceStack.Redis提供了一个非常强大的方法

public RedisText Custom(params object[] cmdWithArgs);

这个方法强大到可以执行绝大多数的redis命令。来个例子先

RedisText result = redisClient.Custom(Commands.HMSet, "car:101", "Name", "BWM 200", "Price", 200, "Color", "white");
Console.WriteLine(result.Text);
//看看结果
car = redisClient.GetAllEntriesFromHash("car:101");
foreach (string _key in car.Keys)
{
    Console.WriteLine("{0}={1}", _key, car[_key]);
}

程序返回

OK
Name=BWM 200
Price=200
Color=white

更多的用法,读者自己琢磨吧,哈哈~

最后,附上两个地址:

  • ServiceStack.Redis在github上的主页:https://github.com/ServiceStack/ServiceStack.Redis
  • ServiceStack.Redis的官网主页:https://servicestack.net/redis

如果你需要查API什么的,剩下的就简单了。

你可能感兴趣的:(c#与.net平台,redis)