Redis Nedir? Neden Kullanılır?
Redis, “Remote Dictionary Server”ın kısaltması olup, bir açık kaynaklı, bellek içi veri yapılandırma deposudur. Ana işlevi, veri yapılarını bellek üzerinde saklayarak çok hızlı bir veri erişimi sağlamaktır. Redis, yaygın olarak yüksek performanslı uygulamalarda, önbellekleme, mesaj sıralama ve oturum yönetimi gibi birçok senaryoda kullanılır.
Redis’in sağladığı başlıca avantajlar:
•Hız: Bellek içi bir veritabanı olduğu için milisaniye seviyesinde veri erişimi sağlar.
•Esneklik: Key-Value yapısına ek olarak liste, set, sıralı set ve hash gibi farklı veri yapıları sunar.
•Kümeleme ve Yüksek Erişilebilirlik: Redis Cluster ile dağıtık yapıdaki bir sistemi destekler.
Redis’in RHEL8 Üzerine Kurulumu
1. Ön Hazırlıklar
Redis kurulumu öncesinde sisteminizde güncelleme yapmanız, kurulumu daha sağlıklı kılar:
# sudo yum update -y
Redis, RHEL8’in resmi depolarında bulunmaktadır ancak en güncel sürümü yüklemek için EPEL deposunu eklemeniz önerilir:
# yum install epel-release -y
Redis Kurulumu
# yum install redis -y
Redisi çalıştıralım;
# systemctl start redis
# systemctl enable redis
# systemctl status redis
Redis Konfigürasyonu
Redis’in yapılandırma dosyası varsayılan olarak /etc/redis.conf konumunda bulunur. Bu dosya üzerinde çeşitli ayarları yaparak Redis’in çalışma şeklini özelleştirebilirsiniz.
Varsayılan olarak Redis, bellek sınırı olmaksızın çalışır. Ancak, üretim ortamında bellek tüketimini sınırlandırmanız önerilir. Örneğin, maksimum 2 GB bellek kullanması için:
maxmemory 2gb
Bellek sınırına ulaşıldığında eski verilerin otomatik olarak silinmesini sağlayan bir politika belirleyebilirsiniz.
maxmemory-policy allkeys-lru
Varsayılan olarak Redis, sadece yerel erişime izin verir. Redis’i uzak erişime açmak için yapılandırma dosyasındaki bind ayarını düzenleyin. Ancak bu, güvenlik risklerini artırabileceği için sadece güvenli bir ağ ortamında veya güvenlik önlemleri alarak yapılmalıdır:
bind 0.0.0.0
Redis’e uzaktan bağlanmayı daha güvenli hale getirmek için bir şifre belirleyebilirsiniz. requirepass ayarı ile bir şifre tanımlayarak Redis bağlantılarını güvence altına alabilirsiniz:
requirepass your_password_here
Yapılandırma değişikliklerini yaptıktan sonra Redis hizmetini yeniden başlatmayı unutmayın:
# systemctl restart redis
Redis’i test etmek için aşağıdaki örnek komutları kullanabilirsiniz. Bu komutlar Redis’in veri ekleme, okuma ve silme işlemlerine dair temel kullanımı göstermektedir.
CLI Bağlantı eğer şifre verdiysek şifreyi -a veya -u parametresi ile vermeliyiz
# redis-cli -a yourpassword
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6379> set anahtar "test"
OK
127.0.0.1:6379> del anahtar
(integer) 1
127.0.0.1:6379> set key1 "faruk"
OK
127.0.0.1:6379> get key1
"faruk"
Redis, farklı veri yapıları ile çalışabilir.
•Liste Kullanımı:
127.0.0.1:6379> LPUSH mylist "birinci"
(integer) 1
127.0.0.1:6379>
127.0.0.1:6379> LPUSH mylist "ikinci"
(integer) 2
127.0.0.1:6379> LRANGE mylist 0 -1
1) "ikinci"
2) "birinci"
Redis Performans ve Optimizasyon
1. Sık Kullanılan Verileri Önbelleğe Alma: Redis, en çok erişilen veriler için önbellek olarak kullanılabilir. Bu sayede veritabanı sorgularının yükünü azaltır.
2. Veri Sıkıştırma ve Yeniden Kullanım: Büyük veriler için sıkıştırma yapılabilir ya da Redis TTL (Time-to-Live) özelliği ile anahtarların belirli bir süre sonra otomatik olarak silinmesi sağlanabilir.
3. Şema Planlaması: Redis, şeması olmayan bir yapı sunduğu için veri yapısının iyi planlanması önemlidir. Veri yapısını belirlemek, bellek kullanımını ve erişim süresini optimize eder.
Bir yanıt yazın