Redis nu beschikbaar bij Antagonist!

Redis is nu bij ons beschikbaar! Deze geavanceerde cachingtechniek slaat veelgebruikte data in het snelle RAM op. Je website wordt hierdoor vliegensvlug. We zijn flink bezig geweest om deze mooie feature aan ons platform toe te voegen. Nu is het zover! Wat is Redis precies, wat is het voordeel van onze implementatie en hoe ga jij er mee aan de slag?

Redis nu beschikbaar bij Antagonist!

Wat doet Redis?

Met Redis sla je tijdelijke gegevens in een cache op die je razendsnel weer kunt uitlezen. Zeker zwaardere websites, zoals webshops met veel informatie en afbeeldingen, hebben hier enorm baat bij. Je gebruikt dit dus voor data die niet voor langere periode hoeft te worden bewaard. Het is ontwikkeld als opensourcesoftware en daardoor vrij te gebruiken.

Redis, hoe spreek ik dat uit?
Redis is door een Italiaan gemaakt. Heb je Italiaans onder de knie, dan is het dus simpel. Voor de rest van ons: reddis. Maar ach, zoals de ontwikkelaar van Redis zelf weleens heeft gezegd: “Ik heb liever dat je Redis gebruikt, dan dat je het goed weet uit te spreken.”

Onze implementatie

Zoals je van Antagonist gewend bent, hebben we het activeren van Redis zo gemakkelijk mogelijk gemaakt. Zo hoef je bij ons niet met inloggegevens te authenticeren en lastige IP-adressen of poorten te onthouden. Vanaf het Plus-pakket heb je een eigen Redis-server beschikbaar op een Unix-socket. Het pad daar naartoe, is eigenlijk het enige wat je moet weten: /tmp/redis.sock

Je hoeft dus verder niets in te schakelen of een poort in te stellen. Dat laatste is namelijk niet relevant voor een Unix-socket. Gewoon verbinden en klaar. Je gebruikt dan standaard database 0. Echter, je kunt ook voor database 1 t/m 15 kiezen. Dat is nuttig als je binnen je pakket Redis voor meerdere verschillende websites gebruikt. Het is dan beter om ook verschillende databases te kiezen.

Als je voor de allereerste keer met de Redis-server verbindt, dan wordt er op de achtergrond een database voor je gestart. Hierdoor kan het eenmaal tientallen milliseconden langer duren, voordat je antwoord krijgt. Alle aanvragen die daarna binnenkomen, zullen met de hoogste snelheid worden teruggegeven. De Redis-server staat dan namelijk al klaar.

Geperfectioneerd, dankzij jullie
Van een aantal klanten wisten we dat ze in Redis interesse hadden. Deze groep hebben we daarom gevraagd om te helpen testen. Dankzij waardevolle feedback konden wij onze implementatie perfectioneren. Iedereen die heeft geholpen nogmaals ontzettend bedankt!

Waarom bij ons juist geen wachtwoorden…

Dat onze implementatie geen wachtwoord vereist, maakt het flink veiliger. Dat klinkt misschien wat tegenstrijdig. Beveilig je bijvoorbeeld accounts immers doorgaans niet met een wachtwoord? Daarom leg ik graag uit hoe dat zit.

Veiligere Redis-implementatie zonder te hoeven authenticeren met inloggegevens.

Redis is gebouwd met één doel voor ogen: snelheid. Om dit te bereiken, heeft de ontwikkelaar ervan een aantal keuzes gemaakt in het ontwerp. Die keuzes zorgen dat het niet verstandig is om Redis in een gedeelde omgeving open te zetten. Een wachtwoord alleen biedt dan te weinig authenticatie.

Ter verduidelijking, je kunt bij Redis een wachtwoord instellen. Een inlogpoging wordt dan door Redis zo snel mogelijk afgehandeld. Alleen, juist doordat dit zo snel gaat, wordt met brute force een wachtwoord achterhalen ook stukken makkelijker. Daarnaast wordt het wachtwoord zonder encryptie verzonden.

Wij hebben er om deze redenen voor gekozen Redis niet via het netwerk beschikbaar te maken, maar alleen binnen de afgeschermde cage van een pakket. Hiermee heeft iedereen dus zijn eigen Redis-server en is een wachtwoord overbodig. Onze oplossing is daardoor een stuk veiliger.

Magento 2 als voorbeeld

Laten we als voorbeeld naar Magento 2-webshop kijken. Waarom Magento, vraag je je misschien af. Nou, Magento is een complexe webapplicatie. Om je webshop snel te houden, is het gebruik van meerdere caches daarom zeer aan te bevelen. Welke caches kun je gebruiken?

Redis activeren in Magento 2.

PHP OPcache en session cache

Als eerste heb je PHP OPcache. Dit staat los van Redis en raden we altijd aan om te gebruiken. Deze PHP-module staat daarom bij ons al standaard aan in de PHP-selector. Daarnaast is er de session cache van PHP. Gebruik je hier Redis voor, dan kan het je een kleine snelheidswinst opleveren. Sessie-informatie van je bezoekers wordt daardoor niet meer als bestanden opgeslagen, maar in het geheugen van de Redis-server. Zetten we ook aan dus! Dit kan met het volgende commando:

bin/magento setup:config:set \
--session-save=redis \
--session-save-redis-server=/tmp/redis.sock \
--session-save-redis-db=2

Magento Full Page Cache (FPC)

Daarnaast heb je de zogenaamde Full Page Cache (FPC). Bekijk je bijvoorbeeld de hoofdpagina van je webshop, dan moet er van alles gebeuren. Zo zal er een query worden gedaan om populaire producten op te halen, waarvan ook nog eens verschillende productinformatie wordt opgehaald. Daarnaast worden door PHP verschillende templates geladen, ingevuld en gecombineerd.

Best veel werk allemaal! En als de volgende bezoeker komt, dan moet dit allemaal opnieuw. Om vervolgens exact hetzelfde resultaat te tonen. Met FPC sla je het resultaat op, zodat je bij een volgend verzoek deze direct uit je cache kunt halen en alle moeilijke stappen achterwege laat. Redis is hier uitermate voor geschikt. Dit stel je met het volgende commando in:

bin/magento setup:config:set \
--page-cache=redis \
--page-cache-redis-server=/tmp/redis.sock \
--page-cache-redis-db=1

Magento Default Cache

De Magento Default Cache is voor alle overige zaken, waar bijvoorbeeld ook plugins van gebruik kunnen maken. Het is daarom een goed idee om deze cache ook in Redis te zetten. Dit doe je met het volgende commando:

bin/magento setup:config:set \
--cache-backend=redis \
--cache-backend-redis-server=/tmp/redis.sock \
--cache-backend-redis-db=0

En WordPress of Joomla?

Naast Magento 2, kun je Redis natuurlijk ook bij andere CMS’en of een eigengebouwde website gebruiken. Gebruik je bijvoorbeeld WordPress, dan kan het een flinke snelheidswinst opleveren. Zeker als je het in combinatie met WooCommerce gebruikt. Bekijk voor WordPress deze handleiding. Gebruik je Joomla, dan kun je deze instructies raadplegen.

UPDATE – Beveiligingssoftware Patchman uitgebreid
Binnenkort gaan wij proactief kwetsbaarheden in Magento, Prestashop en WooCommerce repareren. Zo blijft je webshop optimaal beveiligd!

Tot slot

Redis is een waardevolle aanvulling en nu beschikbaar vanaf Plus! Zowel voor nieuwe als bestaande pakketten. Heb je een Slim-pakket en wil je er ook mee aan de gang, dan kun je via Mijn Antagonist eenvoudig upgraden. Tijdelijk krijg je € 25,- van het prijsverschil over de resterende looptijd cadeau!

Bekijk hostingpakketten →

P.S. Wil je op de hoogte blijven van alle artikelen, updates, tips en trucs die verschijnen op ons blog? Dat kan! Via RSS, per e-mail, het liken op Facebook, het +1’en op Google+ of het volgen op Twitter.

Deel Deel Deel Deel