如何在Windows上的Servicestack上开始使用Redis?

时间:2013-05-12 17:06:20

标签: asp.net-mvc asp.net-mvc-4 redis servicestack

我刚开始使用ServiceStack并在MVC4中创建了我的第一个服务。现在我想使用Redis保留我的对象。我无法弄清楚如何让它在Windows上运行或者ServiceStack发行版已经包含了这个。我也在考虑使用其中一个Redis云实现,但我想先让它在本地运行。

由于

1 个答案:

答案 0 :(得分:7)

你需要像Windows上的Redis(herehere这样的博客文章)。您可以使用repo stored on github。完成后,您可以在Visual Studio中构建redis并运行它。

服务堆栈还有一个支持页面here,包括runs Redis as a Windows Service项目的链接。

修改即可。我发现the project and blog post我在大约一个月前玩过(巧合的是,它是由堆栈交换中的Jason写的)。

LATE UPDATE 好的,所以我评论

之后不久
  

做的不仅仅是“下载”和“执行安装程序以获得强大的服务”,就像使用Nuget软件包一样

比我发现这个Redis Nuget允许您从命令行运行Redis,由MSOpenTech发布,可以与ServiceStack.Redis package

一起使用

修改,这就是您使用它的方式:

  • 在Visual Studio中创建控制台应用程序
  • 在解决方案资源管理器上的项目控制台菜单中运行“管理NuGet包”
  • 搜索并安装“redis-64”和“ServiceStack.Redis”(您可能希望通过从软件包管理器控制台运行install-package redis-64来执行redis-64)
  • 通过cmd提示从packages \ Redis-64。\ tools \ redis-server.exe启动redis或双击
    • (如果被问及Windows防火墙,只需取消以保持本地计算机上的通信)
  • 运行以下代码:

    public class Message {
        public long Id { get; set; }
        public string Payload { get; set; }
    }
    
    static void Main(string[] args) {
        List<string> messages = new List<string> {
            "Hi there",
            "Hello world",
            "Many name is",
            "Uh, my name is"
        };
    
        var client = new RedisClient("localhost");
        var msgClient = client.As<Message>();
    
        for (int i = 0; i < messages.Count; i++) {
            Message newItem = new Message { 
                Id = msgClient.GetNextSequence(), 
                Payload = messages[i] };
            msgClient.Store(newItem);
        }
    
        foreach (var item in msgClient.GetAll()) {
            Console.WriteLine("{0} {1}", item.Id, item.Payload);
            msgClient.DeleteById(item.Id);
        }
    
        Console.WriteLine("(All done, press enter to exit)");
        Console.ReadLine();
    }
    

输出:

1 Hi there 
2 Hello world 
3 Many name is 
4 Uh, my name is 
(All done, press enter to exit)