Redis Sunucusu ve PHP Redis Modülünün Ubuntu 22.04 LTS Üzerinde Kurulumu

Redis, milyonlarca geliştirici tarafından önbellek, vektör veri tabanı, belge veri tabanı, akış motoru ve mesaj aracısı olarak kullanılan açık kaynaklı, bellek içi veri depolama aracıdır. Redis’i sisteminize kurmak istiyorsanız doğru yerdesiniz. Bu yazımızda Redis’i sisteminize kurmanın en kolay yöntemini anlatıyor olacağız.

Redis Nerelerde Kullanılır ?

Redis, yüksek performansı sayesinde verileri önbellek (RAM) üzerine kayıt etmek amacıyla kullanılır. Yüksek trafiğe sahip sayfaları önbelleğe almak için de Redis kullanabilirsiniz. Bir kez önbelleğe alınan veri artık diskten değil ram den okunmaya başladığı için okuma hızı performansı takdire değer bir hızda yükselir. Redis veri tabanı genellikle aşağıdaki durumlarda kullanılır.

  • Uygulamanızda kullanıcı rol ve yetkileri, oturum bilgileri gibi dinamik olarak çok sık değişen ve kullanıcının veri tabanına sürekli gitmesini istemediğiniz durumlarda.
  • Chat gibi online mesajlaşma sistemlerinde mesaj dağıtıcısı olarak.
  • Site trafiği veri toplama gibi istatistiksel işlemlerde.
  • Oturum açma işlemlerinde başarısız oturumların istatistiğini tutmak için.
  • Kullanıcılara şifremi unuttum veya kodu sıfırla gibi kodlar gönderildikten sonra geçici kodu önbellekte tutmak için
  • API uygulamanıza rate limit gibi bir güvenlik önlemi almak için.
  • Bir oyun projesinde Redis Sorted Set veri yapısını kullanarak sıralanmış skor listesi oluşturmak için.
  • ve hatta RabbitMQ gibi bir message broker olarak.

Kurulum

Redis sunucusunu Ubuntu’ya kurmadan önce sistemi ve tüm bağımlılıkları güncellemek için aşağıdaki komutu kullanın.

sudo apt update

Redis Sunucusu paket verileri Linux’un apt (Gelişmiş Paket Aracı) deposunda mevcuttur ve Redis, aşağıdaki komut kullanılarak Ubuntu’ya kurulabilir.

sudo apt install redis-server

Redis kurulumundan sonra servisin durumunu, çalışıp çalışmadığını kontrol edin. Bu yüzden aşağıdaki komutu çalıştırın.

sudo service redis status
redis-server.service - Advanced key-value store
     Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2024-02-24 14:24:02 +03; 4h 19min ago
       Docs: http://redis.io/documentation,
             man:redis-server(1)
   Main PID: 963 (redis-server)
     Status: "Ready to accept connections"
      Tasks: 5 (limit: 4554)
     Memory: 5.6M
        CPU: 13.571s
     CGroup: /system.slice/redis-server.service
             └─963 "/usr/bin/redis-server 0.0.0.0:6379" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ">

Sisteminizi her yeniden başlattığınızda redis sunucusunun otomatik başlatılmasını istiyorsanız aşağıdaki komutu çalıştırın.

sudo systemctl enable redis-server

Yerel Ortam Konfigürasyonu

Redis’i önbellek olarak kullandığınızda, /etc/redis/redis.conf dosyasında bulunan varsayılan yapılandırma dosyasındaki bazı parametreleri değiştirmeniz gerekir. Yerel sunucunuz için Redis Yapılandırmasında şifre ayarlama gibi işlemlere gerek olmayacağından aşağıdaki ayarları yapmanız yeterli olacaktır. Terminalde düzenleme yapmak için aşağıdaki komutu çalıştırın.

vim /etc/redis/redis.conf

Aşağıdaki ayarlar Redis e herhangi bir şifre olmadan aynı zamanda uzak bir bilgisayardan erişebilmenizi sağlayacak.

bind 0.0.0.0
protected-mode no

Yapılan değişliklerden sonra Redis sunucusunu yeniden başlatmanız gerekecek.

service redis-server restart

Üretim Ortamı Konfigürasyonu

Üretim ortamında güvenlik nedeniyle Redis sunucusunu dışarıya kapatmanız ya da bir vpn ile kullanmanızı tavsiye ediyoruz. Ve mutlaka bir şifre ayarlamalısınız. Aşağıdaki ip adresi konfigürasyonu sadece yerel sunucudan Redis sunucusuna erişime izin verir ve uzaktan erişim isteklerini reddeder.


bind 127.0.0.1 ::1
protected-mode yes

Require pass satırını bulup karşısındaki değere şifrenizi yazın.

requirepass write_your_secure_password

PHP Redis Extension Kurulumu

Redis sunucusunu PHP tabanlı uygulamalar ile kullanmak istiyorsanız aşağıdaki komutu kullanarak PHP Redis modülünü kurmalısınız. Modülü kurmadan önce sistemde PHP yüklü olmalıdır.

sudo apt install php-redis

Redis modülü php aktivastonu için aşağıdaki komutu çalıştırın.

sudo phpenmod redis

Eğer modülü devre dışı bırakmak istiyorsanız aşağıdaki komutu deneyin.

sudo phpdismod redis

Çoklu Php Sürümleri

Eğer sisteminizde çoklu PHP sürümleri var ve PHP Redis uzantısını başka bir sürüm için de aktif etmeniz gerekiyorsa aşağıdaki adımları izleyin. Bu örnekte; sisteminizde PHP 8.1 için Redis’in yüklü olduğunu ve PHP 8.2 sürümü için de Redis’i aktif etmeniz gerektiğini varsayıyoruz.

sudo apt-get install php8.2-redis
phpenmod -v 8.2 redis

Redis Bağlantısını Test Edin

Redis CLI’yi kullanarak Redis sunucusunun düzgün çalışıp çalışmadığını test edebilirsiniz, bunun için aşağıdaki komutu çalıştırın.

redis-cli ping
// PONG

Bazı Yararlı Redis-Cli Komutları

redis-cli info stats
redis-cli info server

Redis sunucusundaki kayıt edilmiş tüm veri anahtarlarını listelemek için aşağıdaki komutu kullanabilirsiniz.

redis-cli --scan --pattern '*'
oloma:policies:privacy-policy:tr
oloma:policies:privacy-policy:en
oloma:policies:end-user-license-agreement:en
oloma:policies:data-protection-and-processing-policy:en
oloma:policies:cookie-policy:en
oloma:policies:gdpr-information-text:en
demo_app:App\Model\PermissionModel:findPermissions
tr_oloma_news_feed_data
en_oloma_news_feed_data

Sunucudaki kayıtlı tüm önbelleği silmek/temizlemek için aşağıdaki komut işinizi kısa yoldan çözecek.

FLUSHALL

Redis Auth

Üretim ortamda redis komutlarını kimlik doğrulama yapmadan çalıştırmanız mümkün değildir. Bunun için auth komutunu kullanmanız gerekir.

auth your-password

Redis Masaüstü Uygulamaları

Son olarak redis veri tabanınızı kolayca yönetmenizi sağlayacak görsel arayüze sahip masaüstü uygulamalardan bahsedelim.

Resp.app

Eğer Windows kullanıyorsanız kolay bir arayüze sahip resp.app uygulaması ile redis sunucusuna yerel veya uzaktan bağlanabilir, bu ücretsiz uygulama ile veri tabanında oluşturduğunuz verileri farklı biçimlerde görüntüleyebilirsiniz.

Takip eden linkten resp.app uygulmasını Windows işletim sistemleri için Microsoft mağazasından indirebilirsiniz.
https://apps.microsoft.com/detail/9ndk76zvz3tm?hl=en-US&gl=TM

RedisInsight

RedisInsight Redis tarafından geliştirilen; Windows, macOS (M1 dahil), Linux gibi işletim sistemlerinde de çalışabilen gelişmiş özelliklere sahip bir redis arayüzü.

Takip eden bağlantıdan RedisInsight uygulmasını indirebilirsiniz.
https://redis.com/redis-enterprise/redis-insight/

Sonuç

Redis Server, esas olarak veri depolama ve nesne önbelleğe alma için kullanılan açık kaynaklı bir yazılımdır. Redis Server yukarıda bahsettiğimiz gibi Ubuntu/Linux işletim sistemlerinde kolaylıkla kurulabilmektedir. Bu yazımızda Redis’i yüklediniz ve yapılandırdınız, Redis kurulumunuzun düzgün çalışıp çalışmadığını doğruladınız ve üretim ortamı için güvenli bir şekilde Redis kurulum adımlarını tamamladınız.

Birisi sunucunuzda oturum açtığında, uygulamaya koyduğumuz Redis’e özgü güvenlik özelliklerini atlatmanın çok kolay olduğunu unutmayın. Bu nedenle, üretim ortamındaki Redis sunucunuzdaki en önemli güvenlik önlemi bir güvenlik duvarı veya vpn gibi bir özel ağ ile sunucuya erişimdir.

Yorum Gönderin

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir