How to get Redis running on Azure? [closed]
- Download Redis for Windows - see the section 'Redis Service builds for Windows' on https://github.com/ServiceStack/ServiceStack.Redis. I ended up using the win64 version from dmajkic https://github.com/dmajkic/redis/downloads
- Create an Azure worker role, delete the default class (you don't need c# code at all). Add the file redis-server.exe from the downloaded redis source (the exe can be found in redis/src).
In the service definition file add the following config
<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>
You can refer to the redis server from your web role using the following
var ipEndpoint = RoleEnvironment.Roles["my.Worker"].Instances[0].InstanceEndpoints["Redis"].IPEndpoint;host = string.Format("{0}:{1}", ipEndpoint.Address, ipEndpoint.Port);
Hope that helps.
FYI, the above-mentioned Redis on Windows project from MS Open Tech now has an Azure installer available, which makes it easy to get Redis up and running on a PaaS worker role. Here's a detailed tutorial: http://ossonazure.interoperabilitybridges.com/articles/how-to-deploy-redis-to-windows-azure-using-the-command-line-tool (Full disclosure: I'm on the MS Open Tech team.)
There is MS Open Tech: Redis on Windows project.Redis on Windows is available on GitHub (https://github.com/MSOpenTech/redis) however still not labelled as ready for production yet.
Another post is an example of application using Redis:"SignalR with Redis Running on a Windows Azure Virtual Machine"