Redis®*: Aan de slag

Snelle gids om aan de slag te gaan met Redis

👋 Welkom bij de Stackhero-documentatie!

Stackhero biedt een kant-en-klare Redis cloud oplossing die tal van voordelen biedt, waaronder:

  • Redis Commander web UI inbegrepen.
  • Onbeperkte berichtgrootte en overdrachten.
  • Moeiteloze updates met slechts één klik.
  • Optimale prestaties en robuuste beveiliging aangedreven door een privé en dedicated VM.

Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om de Redis cloud hosting oplossing van Stackhero te proberen!

Redis is een krachtige, ongelooflijk snelle in-memory database die voor meerdere doeleinden kan worden gebruikt. Het kan fungeren als een cachesysteem, een key-value store, realtime data sorteren vergemakkelijken, en functioneren als een publish-subscribe queue en eventsysteem.

waarschuwing Redis heeft zijn licentie gewijzigd en is niet langer open source. De gemeenschap, ontwikkelaars en bedrijven hebben een Redis-fork genaamd Valkey gecreëerd, die een directe vervanging voor Redis is. We raden aan om Valkey in plaats van Redis te gebruiken.

Om u te helpen beginnen, hebben we enkele codevoorbeelden gedeeld die laten zien hoe u verbinding maakt met een Redis-instantie. U kunt deze voorbeelden vinden in de volgende GitHub-repository: https://github.com/stackhero-io/redisGettingStarted.

Om te beginnen wilt u misschien de "redis" gem installeren. Dit kunt u doen door het volgende uit te voeren:

bundle add redis

Open vervolgens het bestand config/environments/production.rb en voeg de volgende regel toe:

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

Definieer ten slotte de omgevingsvariabele REDIS_URL. Hier is een sjabloon dat u kunt gebruiken door uw gegevens in te vullen:

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

waarschuwing Standaard is caching alleen ingeschakeld in de productieomgeving. Als u caching tijdens de ontwikkeling wilt testen, kunt u het bestand config/environments/development.rb bewerken. Voeg de bovenstaande configuratie toe en voeg config.action_controller.perform_caching = true toe om caching in te schakelen. Een eenvoudige manier om te controleren of caching werkt, is door een Rails-console te starten (met bin/rails console) en te testen door Rails.cache.write("foo", "bar") te schrijven.

Voor meer details over het configureren van Redis als cachesysteem voor Ruby on Rails, bekijk de officiële Rails-documentatie.

Sidekiq zal automatisch de Redis-server gebruiken die is gespecificeerd in de omgevingsvariabele REDIS_URL.

U kunt de omgevingsvariabele REDIS_URL definiëren met uw specifieke informatie als volgt:

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

Voor meer inzichten over het gebruik van Sidekiq met Redis, raadpleeg de officiële Sidekiq-documentatie.

Resque, net als Sidekiq, zal de Redis-server gebruiken die is gedefinieerd in de omgevingsvariabele REDIS_URL.

Stel de REDIS_URL in met uw gegevens als volgt:

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

Voor meer informatie over het gebruik van Resque met Redis, bezoek de officiële Resque-documentatie.

U kunt de volgende code gebruiken om PHP-sessies op Stackhero voor Redis op te slaan:

<?php

// Parseer Redis URL
$redis_url = parse_url('rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>');

// Configureer sessiehandler
ini_set('session.save_handler', 'redis');
ini_set('session.save_path', "tls://{$redis_url['host']}:{$redis_url['port']}?auth={$redis_url['pass']}&timeout=5");

// Start de sessie
session_start();

?>

Om ervoor te zorgen dat uw Redis-instantie veilig is, is het cruciaal om bepaalde beveiligingsmaatregelen te implementeren.

Standaard versleutelt Redis geen communicatie. Op Stackhero hebben we echter standaard TLS-versleuteling geïntegreerd.

Om hiervan te profiteren, configureert u uw Redis-client om TLS-versleuteling te gebruiken en maakt u verbinding met uw instantie via de <PORT_TLS> poort. Vermijd het gebruik van <PORT_CLEAR>, omdat dit geen gegevens versleutelt.

Het beste is dat u verder niets hoeft te doen, wij hebben de complexe configuratie verzorgd.

Uw Redis-instantie is beveiligd met een wachtwoord, dat Stackhero automatisch instelt op een zeer veilige standaard. Als u ervoor kiest om het te wijzigen, zorg er dan voor dat u een uiterst complex wachtwoord selecteert.

Redis is zeer efficiënt maar heeft geen ingebouwde bescherming tegen brute force-aanvallen, waardoor een aanvaller mogelijk tot 150.000 wachtwoordcombinaties per seconde kan testen.

Om dit risico tegen te gaan, hanteren we een minimale wachtwoordlengte van 16 tekens (wat ongeveer 4.5231285e+74 combinaties oplevert). Standaard gebruiken we een wachtwoord van 64 tekens (wat ongeveer 9.61963e+111 combinaties biedt).

Voor extra beveiliging en om het risico op brute force-aanvallen aanzienlijk te verminderen, wordt sterk aanbevolen om de firewallinstellingen van Stackhero (te vinden onder het tabblad "Firewall") te configureren om verbindingen strikt te beperken tot uw IP-adressen. Deze stap is essentieel voor het verbeteren van uw beveiligingshouding.