Valkey: Naudojimas su Ruby
Kaip prijungti Valkey prie Ruby
👋 Sveiki atvykę į Stackhero dokumentaciją!
Stackhero siūlo paruoštą naudoti Valkey cloud sprendimą, kuris suteikia daugybę privalumų, įskaitant:
- Integruota
Redis Commanderžiniatinklio sąsaja.- Neribotas žinučių dydis ir perdavimas.
- Paprasti atnaujinimai vienu paspaudimu.
- Aukščiausias našumas ir stipri saugumo apsauga, užtikrinama privačia, dedikuota infrastruktūra.
Taupykite laiką ir palengvinkite sau darbą: išbandyti Stackhero Valkey cloud hosting sprendimą užtrunka tik 5 minutes!
Valkey yra atvirojo kodo, atmintyje veikianti duomenų bazė, sukurta siekiant išskirtinio našumo ir lankstumo. Ji atsirado kaip Redis fork'as po to, kai Redis perėjo prie labiau ribojančios licencijos, todėl Valkey siūlo visiškai atvirojo kodo alternatyvą. Valkey užtikrina visišką suderinamumą su Redis bibliotekomis, todėl tai puikus pasirinkimas projektams, kurie anksčiau naudojo Redis.
Valkey dažnai vadinama NoSQL duomenų baze – ji palaiko įvairias duomenų struktūras, tokias kaip eilutės (strings), hash'ai, sąrašai (lists), rinkiniai (sets) ir rūšiuoti rinkiniai (sorted sets) bei kitos. Dėl itin greitų operacijų ir gebėjimo apdoroti didelius duomenų kiekius, Valkey yra populiarus pasirinkimas tokioms užduotims kaip kešavimas, realaus laiko analizė, žinučių perdavimas ir kt.
Valkey lengvai integruojama su Ruby ir Ruby on Rails, pagerindama našumą, mastelį ir lankstumą. Ruby programuotojai gali naudoti Valkey įgyvendindami tokias funkcijas kaip kešavimas, sesijų valdymas, realaus laiko duomenų apdorojimas ar foninių užduočių vykdymas.
Štai keletas dažniausių Valkey naudojimo būdų su Ruby ir Ruby on Rails:
-
Kešavimas: Valkey gali veikti kaip kešo sluoksnis Rails aplikacijose, pagreitindama atsakymo laiką ir sumažindama apkrovą pagrindinei duomenų bazei.
-
Foninių užduočių apdorojimas: Valkey gali būti naudojama kaip backend'as populiarioms foninių užduočių apdorojimo bibliotekoms, tokioms kaip Sidekiq ir Resque, pagerinant foninių užduočių našumą ir patikimumą Rails aplikacijose.
-
Realaus laiko funkcijos: Valkey Pub/Sub funkcionalumas leidžia Rails aplikacijoms įgyvendinti realaus laiko funkcijas, tokias kaip pranešimai, pokalbių sistemos ar realaus laiko analizė, užtikrinant greitą ir efektyvų žinučių perdavimą tarp aplikacijos komponentų.
Stackhero siūlo paruoštą naudoti Ruby cloud sprendimą, kuris suteikia daugybę privalumų, įskaitant:
- Diekite savo aplikaciją per kelias sekundes naudodami paprastą
git push.- Naudokite savo domeno vardą ir naudokitės automatiniu HTTPS sertifikatų konfigūravimu didesniam saugumui.
- Būkite ramūs dėl automatinių atsarginių kopijų, atnaujinimų vienu paspaudimu ir aiškios, skaidrios bei prognozuojamos kainodaros.
- Pasiekite optimalų našumą ir tvirtą saugumą dėl privačios, dedikuotos infrastruktūros.
Taupykite laiką ir supaprastinkite savo darbą: išbandyti Stackhero Ruby cloud hosting sprendimą užtrunka tik 5 minutes!
Valkey konfigūravimas kaip kešo sistema Ruby on Rails
Norėdami konfigūruoti Valkey kaip kešo sistemą Ruby on Rails, atlikite šiuos veiksmus:
- Įdiekite
redisgem'ą:
bundle add redis
- Redaguokite
config/environments/production.rbfailą ir pridėkite šią konfigūraciją:
config.cache_store = :redis_cache_store, { url: ENV['VALKEY_URL'] }
- Apibrėžkite aplinkos kintamąjį
VALKEY_URL. Naudokite šį formatą, pakeisdami<yourPassword>ir<XXXXXX>savo prisijungimo duomenimis:
VALKEY_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Daugiau informacijos apie Valkey konfigūravimą kaip kešo sistemą Ruby on Rails rasite oficialioje Rails dokumentacijoje čia.
Valkey konfigūravimas su Sidekiq
Sidekiq automatiškai naudos Valkey serverį, nurodytą aplinkos kintamajame REDIS_URL.
Aplinkos kintamąjį REDIS_URL galite nustatyti taip, tik pakeiskite <password> ir <XXXXXX> savo informacija:
REDIS_URL="rediss://default:<password>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Pagal numatytuosius nustatymus Sidekiq nėra pritaikytas tinklo trikdžiams. Norėdami pagerinti stabilumą, rekomenduojame pakoreguoti Sidekiq kliento konfigūraciją faile config/initializers/sidekiq.rb:
# Failas config/initializers/sidekiq.rb
Sidekiq.configure_client do |config|
config.redis = {
network_timeout: 5, # Nustato timeout'ą 5 sekundėms
pool_timeout: 5, # Nustato timeout'ą 5 sekundėms
reconnect_attempts: Array.new(240, 0.5) # Bando prisijungti iš naujo 240 kartų kas 0,5 sekundės (iš viso 120 sekundžių/2 minutės) prieš iškeliant klaidą
}
end
Ši konfigūracija užtikrina, kad jei jūsų Valkey serveris taptų nepasiekiamas, klientas bandys prisijungti iš naujo 2 minutes prieš pranešdamas apie klaidą. Tai suteikia laiko, pavyzdžiui, Valkey serverio perkrovimui. Priklausomai nuo jūsų Sidekiq naudojimo, galite šį nustatymą pritaikyti pagal savo poreikius.
Daugiau informacijos apie Sidekiq ir Valkey rasite oficialioje dokumentacijoje čia.
Valkey konfigūravimas su Resque
Norėdami naudoti Valkey su Resque, nustatykite aplinkos kintamąjį REDIS_URL taip, pakeisdami <yourPassword> ir <XXXXXX> savo prisijungimo duomenimis:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Resque automatiškai naudos Valkey serverį, nurodytą aplinkos kintamajame REDIS_URL.
Daugiau informacijos apie Resque naudojimą su Valkey rasite Resque dokumentacijoje čia.