Meerdere Redis instanties
Kan ik meerdere redis instanties draaien bij Hipex?
Bij Hipex bieden we je veel vrijheid en bekijken we altijd welke configuratie het best aansluit bij jouw webshop. Zo bieden we je op het gebied van Redis ook de nodige opties. Indien meerdere onderdelen binnen je webshop gebruik maken van Redis, kan je kiezen voor een enkele redis instantie met meerdere databases, of meerdere seperate redis instanties.
In dit artikel leggen we je de verschillen tussen de twee opties uit.
Redis instantie met meerdere databases
Wanneer je een webshop een gemiddeld aantal bezoekers per dag ontvangt zal deze optie voldoende zijn. Een mooie maatstaaf is dat wanneer je een Fox pakket afneemt bij Hipex, een enkele Redis instantie met meerdere databases voldoende is.
Je kan dan gebruik maken van de standaard Redis socket, die je op de volgende locatie kan vinden:
/home/<gebruikersnaam>/domains/<domein>/var/run/redis.sock
Deze Redis instantie kan maximaal zes databses bevatten en zijn genummerd van 0 t/m 5, het maximale geheugengebruik is 2GB.
Wanneer je deze instantie gebruikt dien je in de configuratiefile in te stellen welke database je wilt gebruiken binnen deze instantie. Als meerdere onderdelen, zoals frontend en page_cache gebruik maken van Redis, dien je beide onderdelen dus een eigen database nummer te geven.
Onderstaand een voorbeeld configuratie van Magento 1 en Magento 2:
Configuratie bestand Magento1:
<cache>
<backend>Cm_Cache_Backend_Redis</backend>
<backend_options>
<server>/home/[gebruikersnaam]/domains/[domein]/var/run/redis.sock</server>
<port>0</port>
<database>0</database>
<force_standalone>0</force_standalone>
<connect_retries>1</connect_retries>
<read_timeout>10</read_timeout>
<automatic_cleaning_factor>0</automatic_cleaning_factor>
<compress_data>1</compress_data>
<compress_tags>1</compress_tags>
<compress_threshold>20480</compress_threshold>
<compression_lib>gzip</compression_lib>
</backend_options>
</cache>
<session_save>db</session_save>
<redis_session>
<host>/home/[gebruikersnaam]/domains/[domein]/var/run/redis.sock</host>
<port>0</port>
<timeout>2.5</timeout>
<db>1</db>
<compression_threshold>0</compression_threshold>
<compression_lib>gzip</compression_lib>
<log_level>1</log_level>
<max_concurrency>6</max_concurrency>
<break_after_frontend>5</break_after_frontend>
<break_after_adminhtml>30</break_after_adminhtml>
<first_lifetime>600</first_lifetime>
<bot_first_lifetime>60</bot_first_lifetime>
<bot_lifetime>7200</bot_lifetime>
<disable_locking>0</disable_locking>
<min_lifetime>60</min_lifetime>
<max_lifetime>2592000</max_lifetime>
</redis_session>
Configuratie bestand Magento2:
'cache' => [
'frontend' => [
'default' => [
'backend' => 'Cm_Cache_Backend_Redis',
'backend_options' => [
'server' => '/home/[gebruikersnaam]/domains/[domein]/var/run/redis.sock',
'port' => '0',
'database' => '0'
],
],
],
],
'session' => [
'save' => 'redis',
'redis' => [
'host' => '/home/[gebruikersnaam]/domains/[domein]/var/run/redis.sock',
'port' => '0',
'database' => '1',
'timeout' => '5',
'compression_threshold' => '2048',
'compression_library' => 'gzip',
'log_level' => '1',
'max_concurrency' => '20',
'break_after_frontend' => '5',
'break_after_adminhtml' => '30',
'first_lifetime' => '600',
'bot_first_lifetime' => '60',
'bot_lifetime' => '7200',
'disable_locking' => '0',
'min_lifetime' => '60',
'max_lifetime' => '2592000'
],
],
Meerdere losse Redis instanties
Zodra je webshop onvoldoende ruimte heeft aan 2GB, kunnen er losse Redis instanties worden ingesteld.
Er zijn veel configuratie mogelijkheden, zo kan je zelf bepalen hoeveel geheugen de instantie mag gaan gebruiken.
Let op: Te veel geheugen toewijzen kan voor ernstige problemen zorgen omdat dan onderdelen zoals MySQL, Redis of andere diensten niet meer genoeg hebben. Verhoog dit dus altijd met kleine stapjes en monitor goed of Redis te veel of te weinig geheugen heeft.
Je kan bij Redis kiezen tussen (unix)sockets en TCP/IP.