Redis®*: Naudojimas su Ruby

Kaip sujungti Redis su Ruby

👋 Sveiki atvykę į Stackhero dokumentaciją!

Stackhero siūlo paruoštą naudoti Redis cloud sprendimą, kuris suteikia daugybę privalumų, įskaitant:

  • Įtraukta Redis Commander web UI.
  • Neribotas žinučių dydis ir perdavimai.
  • Paprasti atnaujinimai vienu spustelėjimu.
  • Optimali veikla ir stiprus saugumas, užtikrinamas privačiu ir dedikuotu VM.

Taupykite laiką ir supaprastinkite savo gyvenimą: tereikia 5 minučių, kad išbandytumėte Stackhero Redis cloud hosting sprendimą!

Redis, kuris reiškia Remote Dictionary Server, yra atvirojo kodo, atmintyje veikianti duomenų bazė, siūlanti išskirtinį našumą ir lankstumą.

Dažnai vadinama NoSQL duomenų baze, Redis palaiko platų duomenų struktūrų spektrą, tokių kaip eilutės, maišos, sąrašai, rinkiniai ir surūšiuoti rinkiniai, tarp kitų. Dėl savo didelio greičio operacijų ir gebėjimo tvarkyti didelius duomenų kiekius, Redis tapo populiariu pasirinkimu talpykloms, realaus laiko analitikoms, pranešimams ir įvairiems kitiems naudojimo atvejams.

Redis gali būti sklandžiai integruotas su Ruby ir Ruby on Rails, siekiant pagerinti našumą, mastelį ir lankstumą. Naudodami Redis, Ruby kūrėjai gali įgyvendinti įvairias funkcijas, tokias kaip talpyklos, sesijų valdymas, realaus laiko duomenų apdorojimas ir foninių užduočių apdorojimas, tarp kitų.

Štai keletas dažniausių būdų, kaip Redis naudojamas su Ruby ir Ruby on Rails:

  1. Talpyklos: Redis gali būti naudojamas kaip talpyklos saugykla Rails programose, siekiant pagreitinti atsako laikus ir sumažinti duomenų bazės apkrovą.
  2. Foninių užduočių apdorojimas: Redis tarnauja kaip fonas populiarioms foninių užduočių apdorojimo bibliotekoms, tokioms kaip Sidekiq ir Resque, gerinant foninių užduočių našumą ir patikimumą Rails programose.
  3. Realaus laiko funkcijos: Redis Pub/Sub funkcionalumas leidžia Rails programoms įgyvendinti realaus laiko funkcijas, tokias kaip pranešimai, pokalbių sistemos ir realaus laiko analizė, palengvinant greitą ir efektyvų pranešimų perdavimą tarp skirtingų programos komponentų.

Stackhero siūlo paruoštą naudoti Ruby cloud sprendimą, kuris suteikia daugybę privalumų, įskaitant:

  • Diegti savo programą per kelias sekundes su paprastu git push.
  • Naudokite savo domeno vardą ir pasinaudokite automatinėmis HTTPS sertifikatų konfigūracijomis, siekiant padidinti saugumą.
  • Mėgaukitės ramybe su automatinėmis atsarginėmis kopijomis, vieno paspaudimo atnaujinimais ir paprasta, skaidria ir prognozuojama kainodara.
  • Gaukite optimalų našumą ir tvirtą saugumą dėka privačios ir dedikuotos VM.

Taupykite laiką ir supaprastinkite savo gyvenimą: užtrunka tik 5 minutes, kad išbandytumėte Stackhero Ruby cloud hosting sprendimą.

Norėdami pradėti, galite įdiegti "redis" gem:

bundle add redis

Tada galite redaguoti config/environments/production.rb failą ir pridėti šią eilutę:

config.cache_store = :redis_cache_store, { url: ENV["REDIS_URL"] }

Galiausiai, apibrėžkite REDIS_URL aplinkos kintamąjį. Galite naudoti šį URL ir tiesiog pakeisti <yourPassword> ir <XXXXXX> savo informacija:

REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"

Daugiau informacijos apie Redis konfigūravimą kaip talpyklos sistemą Ruby on Rails galite rasti oficialioje Rails dokumentacijoje čia.

Sidekiq automatiškai naudos Redis serverį, apibrėžtą aplinkos kintamajame REDIS_URL.

Galite nustatyti aplinkos kintamąjį REDIS_URL taip, pakeisdami <password> ir <XXXXXX> savo informacija:

REDIS_URL="rediss://default:<password>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"

Pagal numatytuosius nustatymus, Sidekiq yra sukonfigūruotas taip, kad netoleruotų tinklo sutrikimų. Norėdami tai pagerinti, siūlome pakeisti Sidekiq kliento konfigūraciją config/initializers/sidekiq.rb, kad padidintumėte stabilumą:

# Failas config/initializers/sidekiq.rb
Sidekiq.configure_client do |config|
  config.redis = {
    network_timeout: 5, # Nustatyti timeout iki 5 sekundžių
    pool_timeout: 5, # Nustatyti timeout iki 5 sekundžių
    reconnect_attempts: Array.new(240, 0.5) # Bandykite prisijungti iš naujo 240 kartų, kas 0.5 sekundės (iš viso 120 sekundžių/2 minutės) prieš sukeliant klaidą
  }
end

Ši konfigūracija užtikrina, kad jei jūsų Redis serveris tampa nepasiekiamas, klientas bandys iš naujo prisijungti 2 minutes prieš pranešdamas apie klaidą. Tai suteikia Redis serveriui laiko, pavyzdžiui, perkrauti. Priklausomai nuo jūsų Sidekiq naudojimo, galite koreguoti šį nustatymą, kad geriau atitiktų jūsų specifinius reikalavimus.

Daugiau informacijos apie Sidekiq ir Redis galite rasti oficialioje dokumentacijoje čia.

Resque automatiškai naudos Redis serverį, apibrėžtą aplinkos kintamajame REDIS_URL.

Galite nustatyti aplinkos kintamąjį REDIS_URL taip, pakeisdami <yourPassword> ir <XXXXXX> savo informacija:

REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"

Daugiau informacijos apie Resque ir Redis galite rasti oficialioje dokumentacijoje čia.