如何在Azure上运行Redis?

noo*_*yte 35 azure redis

我看过几个人在Azure上运行Redis的人的引用,但没有实现或任何类型的"howto".有没有人见过这样的例子?

小智 47

  1. 下载Redis for Windows - 请参阅https://github.com/ServiceStack/ServiceStack.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>
    
    Run Code Online (Sandbox Code Playgroud)
  4. 您可以使用以下内容从Web角色引用redis服务器

    var ipEndpoint = RoleEnvironment.Roles["my.Worker"].Instances[0].InstanceEndpoints["Redis"].IPEndpoint;
    host = string.Format("{0}:{1}", ipEndpoint.Address, ipEndpoint.Port);
    
    Run Code Online (Sandbox Code Playgroud)

希望有所帮助.


tom*_*nte 24

您现在还可以选择在Linux虚拟机上运行Windows Azure中的Redis(因此使用"官方"构建).


Dou*_*ugh 14

仅供参考,上述MS Open Tech的Windows Redis项目现在可以使用Azure安装程序,这样可以轻松地在PaaS工作者角色上启动和运行Redis.这是一个详细的教程:http://ossonazure.interoperabilitybridges.com/articles/how-to-deploy-redis-to-windows-azure-using-the-command-line-tool(完全披露:我在MS上开放技术团队.)