2012-04-13 21 views
35

Widziałem kilka odniesień do osób korzystających z usługi Redis na platformie Azure, ale brak implementacji lub jakiegokolwiek "howto" w tej sprawie. Czy ktoś widział taki przykład?Jak uruchomić Redis na Azure?

+0

Linki do tych referencji proszę? – kristianp

+0

Zobacz komentarze na temat tego pytania: http://stackoverflow.com/questions/5766815/does-azure-support-things-like-mongodb-and-redis – noocyte

+1

A teraz oczywiście Microsoft uruchamia Redis jako usługę na Azure: http://azure.microsoft.com/en-us/documentation/services/cache/#redis – noocyte

Odpowiedz

47
  1. Pobierz Redis dla systemu Windows - patrz sekcja "Kompilacje usług Redis dla systemu Windows" pod numerem https://github.com/ServiceStack/ServiceStack.Redis. Skończyło się na używaniu wersji win64 z dmajkic https://github.com/dmajkic/redis/downloads
  2. Utwórz rolę robota Azure, usuń domyślną klasę (w ogóle nie potrzebujesz kodu C#). Dodaj plik redis-server.exe z pobranego źródła redis (exe można znaleźć w redis/src).
  3. W pliku definicji usług dodać następujące 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> 
    
  4. Można odwołać się do serwera Redis ze swojej roli internetowej za pomocą następującego

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

nadzieję, że pomoże.

+0

Awesome! Dziękuje bardzo! – noocyte

14

FYI, wyżej wymieniony Redis nad projektem Windows z MS Otwórz Tech teraz posiada Azure instalatora dostępne, co sprawia, że ​​łatwo dostać Redis górę i działa w roli pracownika PaaS. Oto szczegółowy samouczek: http://ossonazure.interoperabilitybridges.com/articles/how-to-deploy-redis-to-windows-azure-using-the-command-line-tool (Pełne ujawnienie: pracuję w zespole MS Open Tech).

+0

Byłoby miło mieć mały graficzny interfejs użytkownika (aplikację WPF) dla 'RedisInstWA.exe', aby był bardziej dostępny dla ludzi, aby uruchomić Redis na Azure. Użyłem metody maszyn wirtualnych Linuksa z powodu mojej ograniczonej wiedzy o plikach konfiguracyjnych Lazuru. Ale nadal ciekawy, co działa lepiej, rola pracownik PaaS lub cento maszyny wirtualnej. –

+0

Cześć JP, właśnie zobaczyłem twój komentarz. Świetny pomysł na temat interfejsu GUI - czy zechcesz zarejestrować go jako żądanie w repozytorium Guthub? (https://github.com/MSOpenTech/redis/issues) Pójdę za nim, aby spróbować. Co do perfekcyjnych porównań między PaaS i IaaS, będziemy się nad tym zastanawiać, ale nie mamy jeszcze wyników. –

+0

Oczywiście, zrobię! https://github.com/MSOpenTech/redis/issues/50 p.s. Nie udało mi się to z tutorialem, więc skończyło się na tym, że korzystałem z wirtualnego linuksa z tym samouczkiem: http://blogs.msdn.com/b/tconte/archive/2012/06/08/running-redis- on-a-centos-linux-vm-in-windows-azure.aspx –

Powiązane problemy