如何在Azure上运行Redis?

35

我看到过一些关于在Azure上运行Redis的参考文献,但没有任何实现或任何类型的“如何”指南。是否有人看到这样的示例?


请提供这些参考资料的链接? - kristianp
请查看此问题的评论:https://dev59.com/pVbTa4cB1Zd3GeqP_YIG - noocyte
1
当然,现在微软正在Azure中作为服务运行Redis:http://azure.microsoft.com/en-us/documentation/services/cache/#redis - noocyte
3个回答

47
  1. https://github.com/ServiceStack/ServiceStack.Redis下载适用于Windows的Redis - 参见“Redis Service builds for Windows”部分。我最终使用了dmajkic提供的win64版本:https://github.com/dmajkic/redis/downloads
  2. 创建Azure工作角色,删除默认类(您根本不需要C#代码)。 从已下载的Redis源文件中添加redis-server.exe文件(exe文件可以在redis/src目录下找到)。
  3. 在服务定义文件中添加以下配置

    <WorkerRole name="my.Worker" vmsize="Small">
      <Runtime executionContext="limited">
        <EntryPoint>
          <ProgramEntryPoint commandLine="redis-server.exe" setReadyOnProcessStart="true" />
        </EntryPoint>
      </Runtime>
      <Imports>
        <Import moduleName="Diagnostics" />
        <Import moduleName="RemoteAccess" />
        <Import moduleName="RemoteForwarder" />
      </Imports>
      <Endpoints>
        <InternalEndpoint name="Redis" protocol="tcp" port="6379" />
      </Endpoints>
    </WorkerRole>
    
  4. 你可以使用以下方式从你的 Web 角色中引用 Redis 服务器

  5. var ipEndpoint = RoleEnvironment.Roles["my.Worker"].Instances[0].InstanceEndpoints["Redis"].IPEndpoint;
    host = string.Format("{0}:{1}", ipEndpoint.Address, ipEndpoint.Port);
    
    希望有所帮助。

14

希望能够为 RedisInstWA.exe 开发一个小型 GUI(WPF 应用程序),以使人们更容易地在 Azure 上运行 Redis。由于我对 Azure 配置文件的知识有限,因此我使用了 Linux 虚拟机方法。但仍然好奇哪种方式更好,是 PaaS 工作角色还是 CentOS 虚拟机。 - JP Hellemons
嗨JP,刚看到你的评论。关于GUI前端的想法很棒 - 你愿意在Guthub存储库上记录它作为一个请求吗?(https://github.com/MSOpenTech/redis/issues)我会跟进并尝试让它发生。至于PaaS和IaaS之间的性能比较,我们将会研究,但目前还没有结果。 - Doug Mahugh
好的,我会做!https://github.com/MSOpenTech/redis/issues/50 顺便说一句,我没有按照教程成功地运行它,所以最终我使用了一个虚拟的Linux机器,并参考了这个教程:http://blogs.msdn.com/b/tconte/archive/2012/06/08/running-redis-on-a-centos-linux-vm-in-windows-azure.aspx - JP Hellemons

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接