我已经看到过几次在Azure上运行Redis的人的引用,但没有实现或任何类型的“howto”。有没有人见过这样的例子?
答案 0 :(得分:47)
在服务定义文件中添加以下配置
<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>
您可以使用以下
从Web角色中引用redis服务器var ipEndpoint = RoleEnvironment.Roles["my.Worker"].Instances[0].InstanceEndpoints["Redis"].IPEndpoint;
host = string.Format("{0}:{1}", ipEndpoint.Address, ipEndpoint.Port);
希望有所帮助。
答案 1 :(得分:24)
您现在还可以选择running Redis in Windows Azure on Linux virtual machines(因此使用“官方”版本)。
答案 2 :(得分:14)
仅供参考,MS Open Tech上的上述Redis on Windows项目现在可以使用Azure安装程序,这样可以轻松地在PaaS工作者角色上启动和运行Redis。这是一个详细的教程:http://ossonazure.interoperabilitybridges.com/articles/how-to-deploy-redis-to-windows-azure-using-the-command-line-tool(完全披露:我是MS Open Tech团队的成员。)
答案 3 :(得分:2)
有MS Open Tech: Redis on Windows个项目。 Windows上的Redis可用on GitHub (https://github.com/MSOpenTech/redis)但仍未标记为已准备好投产。
另一篇文章是使用Redis的应用程序示例:“SignalR with Redis Running on a Windows Azure Virtual Machine”