Pt, 03/08/2021 - 21:48 By Umit
Redis drupal yapılandırması

Terminalinizi açın ve aşağıdaki komut ile Redis'i indirmeye çalışın.
apt-get install redis-server

Yukarıdaki komutu girdikten sonra eğer bulunamadı uyarısı ile karşılarsınız aşağıdaki depoyu sisteminize ekleyerek yeniden kurulum yapmayı deneyin.

add-apt-repository ppa:chris-lea/redis-server
apt-get update
apt-get install redis-server

İndirme ve kurulum tamamlandıktan sonra benchmark testi ile kontrol etmek istiyebilirsiniz.
redis-benchmark -q -n 1000 -c 10 -P 5

Redis'in php kütüphanesini yükleyin

apt-get install php7.0-dev git
git clone https://github.com/phpredis/phpredis.git
cd phpredis
git checkout php7
phpize
./configure
make && make install
cd ..
rm -rf phpredis
echo "extension=redis.so" > /etc/php/7.3/mods-available/redis.ini
ln -sf /etc/php/7.3/mods-available/redis.ini /etc/php/7.3/fpm/conf.d/20-redis.ini
ln -sf /etc/php/7.3/mods-available/redis.ini /etc/php/7.3/cli/conf.d/20-redis.ini
service php7.3-fpm restart

Not: Sunucunuzdaki php versiyonuna göre düzenleyin.

Redis modülünü Drupal'a kurun
Drupal'dan Redis modülünü indirin ve sisteminize kurun.

Drupal'ı yapılandırın
Aşağıdaki kodları settings.php yada settings.local.redis.php dosyası oluşturup ekleyebilirsiniz.

$settings['redis.connection']['interface'] = 'PhpRedis';                  // Can be "Predis" in the future
$settings['redis.connection']['host']      = '127.0.0.1';                 // Your Redis instance hostname
$settings['cache_prefix']                  = 'any-text-you-want';         // Optional prefix for cache entries

$settings['cache']['default']              = 'cache.backend.redis';       // The default cache engine for the site
// Always set the fast backend for bootstrap, discover and config, otherwise this gets lost when redis is enabled.
$settings['cache']['bins']['bootstrap']    = 'cache.backend.chainedfast';
$settings['cache']['bins']['discovery']    = 'cache.backend.chainedfast';
$settings['cache']['bins']['config']       = 'cache.backend.chainedfast';

$settings['container_yamls'][] = 'modules/redis/example.services.yml';
$settings['container_yamls'][] = 'modules/redis/redis.services.yml';

//Register our namespace
$class_loader->addPsr4('Drupal\\redis\\', 'modules/redis/src');

Yeniden test edin

redis-cli monitor
Drupal sitenize web tarayıcınızda göz atın ve gezinmeye başlayın. Şimdi CLI pencerenizde görünen ve size her şeyin doğru çalıştığını söyleyen bir sürü şey görmelisiniz. Yanıp sönen metni görmüyorsanız, bir hata yapmışsınızdır veya yapılandırmanız benimkinden farklıdır. Metin görürseniz, redis'den çıkmak için Ctrl+ C kombinasyonunu kullanarak çıkış yapabilirsiniz.

Sonuç

Redis, güçlü özellikleri ve basit kurulumu arasında, sadece üretimde değil, her yerde Drupal önbelleğe alma için memcached'e çekici bir alternatif olabilir. Hala şüpheciyseniz, Redis'i mevcut bir site için memcached ile paralel olarak çalıştırabilirsiniz. Tamamen Redis'e rahatça taşınana kadar ayarlar dosyanızda sadece bazı küçük değişiklikler yaparak ikisi arasında geçiş yapabilirsiniz.