您的位置:首页 > 数据库 > Redis

Redis:在windows环境安装Redis

2013-07-18 08:55 471 查看

第一步:

下载windows版本的Redis:https://github.com/MSOpenTech/Redis

第二步:

在命令行执行:D:\redis-2.6\redis-server.exe。



第三步:

这里有教程:https://github.com/ServiceStack/ServiceStack.Redis

C#版本的客户端类库



Write、Read和Remove测试

代码下载:http://yunpan.cn/QtNrcGxnPRVdV

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;

using ServiceStack.Redis;
using ServiceStack.Text;
using ServiceStack.Redis.Generic;

namespace RedisStudy
{
public class User
{
public string Name { get; set; }
}

class Program
{
static void Main(string[] args)
{
Write();
Read();
Remove();
}

private static void Write()
{
using (var redisClient = new RedisClient())
{
IRedisTypedClient<User> redis = redisClient.As<User>();

var users = redis.Lists["urn:users"];

users.Add(new User { Name = "段光伟" });
users.Add(new User { Name = "段光宇" });

redis.Save();
}
}

private static void Read()
{
using (var redisClient = new RedisClient())
{
IRedisTypedClient<User> redis = redisClient.As<User>();

var users = redis.Lists["urn:users"];

Console.WriteLine(users.Count);

redis.Save();
}
}

private static void Remove()
{
using (var redisClient = new RedisClient())
{
IRedisTypedClient<User> redis = redisClient.As<User>();

var users = redis.Lists["urn:users"];

redis.RemoveEntry(users);
}
}
}
}


发布订阅测试

static void Main(string[] args)
{
var messagesReceived = 0;
var maxMessage = 5;
var channelName = "幸福框架";

using (var redisConsumer = new RedisClient())
{
using (var subscription = redisConsumer.CreateSubscription())
{
subscription.OnSubscribe = channel =>
{
Console.WriteLine(String.Format("订阅频道:'{0}'", channel));
};
subscription.OnUnSubscribe = channel =>
{
Console.WriteLine(String.Format("取消订阅频道:'{0}'", channel));
};
subscription.OnMessage = (channel, msg) =>
{
Console.WriteLine(String.Format("从频道:'{0}'获取了消息:'{1}'", channel, msg));

if (++messagesReceived == maxMessage)
{
subscription.UnSubscribeFromAllChannels();
}
};

ThreadPool.QueueUserWorkItem(x =>
{
Thread.Sleep(200);
Console.WriteLine("开始发布消息");

using (var redisPublisher = new RedisClient())
{
for (var i = 1; i <= 5; i++)
{
var message = "段光伟:" + DateTime.Now;
Console.WriteLine(String.Format("发布消息:'{0}'到频道:'{1}'", message, channelName));
redisPublisher.PublishMessage(channelName, message);
}
}
});

Console.WriteLine(String.Format("开始监听频道:'{0}'", channelName));
subscription.SubscribeToChannels(channelName); //blocking
}
}
}




备注

听说很多人用Redis做缓存和消息队列,就想尝试一下,这次先把安装环境弄好,有个基本了解了,找个时间继续学习:缓存和消息队列。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: