Giriş
Redis, açık kaynaklı bir bellek içi veri yapısı deposudur. Basit anahtar-değer çiftlerini depolamak için Memcached alternatifi olarak, bir NoSQL veritabanı veya hatta Pub-Sub modeline sahip bir mesaj aracısı olarak kullanabilirsiniz. Bu kılavuz, CentOS 8’de Redis’i nasıl kuracağınızı, yapılandıracağınızı, ince ayar yapacağınızı ve güvenli hale getireceğinizi gösterecektir.
Önkoşullar
- Redis için yeterli boş belleğe sahip bir CentOS 8 sunucusu . 1 milyon küçük Anahtar -> Dize-Değer çifti ~ 85 MB kullanır.
- En iyi uygulama kılavuzlarını izleyin:Bir sudo kullanıcısı oluşturun
- CentOS sistemini güncelleyin
1. Redis’i yükleyin
Remi’nin RPM deposu, CentOS için uzun süreli ve topluluk tarafından güvenilen bir depodur. Redis paketi genellikle CentOS’un Redis paketinden daha yenidir.
1. Depoyu etkinleştirin:
2. Remi deposundaki tüm mevcut Redis paketlerini listeleyin.
Sonuç şöyle görünmeli:
Yukarıdaki ikinci sütundaki değerler, Redis’in ana sürümlerine karşılık gelir.
3. En son ana sürümün 6.0 olduğunu varsayarsak, şu sürümü yükleyin:
4. Redis hizmetinin önyükleme zamanında başlamasını etkinleştirin.
5. Redis’i başlatın.
2. Redis’i yapılandırın
1. Redis yapılandırma dosyasını favori düzenleyicinizde açın:
2. Uygulamanız için istenen hafıza kapasitesini ayarlayın.
Varsayılan olarak, maxmemory’ye ulaşıldığında, Redis yeni veri yazmayı durdurur. Redis’in eski verileri otomatik olarak kaldırarak yeni veriler yazmasını istiyorsanız, Redis’e bunları nasıl kaldıracağını söylemeniz gerekir. AllKeys-LRU tahliye politikası çoğu kullanıcı için iyi bir seçimdir. Aşağıdaki satırı ekleyin:
3. Diske kaydetme politikasını ayarlayın.
Varsayılan olarak Redis, bellek içi verilerini belirli bir süre sonra veya DB’ye karşı belirli sayıda yazma işlemi sonrasında diske kaydeder. Varsayılan ayarlar şunlardır:
Bu, tasarrufun gerçekleşeceği anlamına gelir:
- 900 saniye (15 dakika) sonra en az 1 anahtar değiştirilirse
- 300 saniye (5 dakika) sonra en az 10 tuş değiştirilirse
- 60 saniye sonra en az 10000 anahtar değiştirilirse
Yukarıdaki varsayılan ayarlarla Redis, kaydedilen verileri her yeniden başlatıldığında belleğe yükleyecektir. Böylece önceki bellek içi verileriniz geri yüklenecektir. Bu özelliğe ihtiyacınız yoksa, bu satırları yorumlayarak tamamen devre dışı bırakabilirsiniz:
Bu özelliği korumaya karar verirseniz, Redis’in belleğinin yukarıda belirtilen maksimum belleğin iki katı olmasını sağlamak için sunucuyu daha büyük bir plana yükseltmeniz veya uygun bir Linux takas dosyası eklemeniz gerekir . Aksi takdirde, en kötü senaryoda, maxmemory değerine ulaşıldığında, kaydetme işlemi sunucunuzun belleğinin bitmesine neden olabilir.
1. Yapılandırma dosyasını kaydedip kapatın, ardından değişiklikleri uygulamak için Redis’i yeniden başlatın.
3. Sisteme İnce Ayar Yapın
1. Redis günlük dosyasını kontrol edin:
Bunun gibi bazı bilgiler göreceksiniz:
2. İlk uyarıyı düzeltmek için aşağıdaki komutu girin.
3. İkinci uyarıyı düzeltmek için aşağıdaki komutu girin.
4. Sysctl değerlerini yeniden yükleyin.
5. Son uyarıyı düzeltmek için, Redis hizmetini başlatmadan önce önyükleme sırasında şeffaf kucaklanma sayfalarını devre dışı bırakmanız gerekir.
Yeni bir komut dosyası oluşturun:
Aşağıdaki metni dosyaya yapıştırın:
Dosyayı kaydedip kapatın, ardından çalıştırılabilir ve kök hesaba ait hale getirin :
Ardından, komut dosyasını önyükleme sırasında çağıracak systemd hizmeti için yapılandırma dosyasını oluşturun:
Aşağıdaki metni dosyaya yapıştırın:
Dosyayı kaydedip kapatın, ardından hizmeti etkinleştirin:
4. Kurulumu Doğrulayın
1. Redis sunucusunu yeniden başlatın:
2. Sunucu yeniden başlatıldıktan sonra herhangi bir uyarı olmadığından emin olmak için Redis günlük dosyasını kontrol edin:
3. Kullanım Redis-cli varsayılan loopback IP üzerinden REDIS bağlanmak için programı 127.0.0.1 ve port 6379 .
Bağlantı başarılı olursa, Redis komut istemini göreceksiniz:
4. Çalıştığından emin olmak için bazı Redis komutları girin:
Aşağıdaki sonucu görüyorsanız, Redis düzgün çalışıyor demektir.
5. (İsteğe Bağlı) Redis’i Özel Ağ Erişimi için Yapılandırma
Uygulamanız için birden çok sunucuyla bir üretim ortamı kurarsanız, uygulama sunucularının Redis sunucusuna erişmesi gerekir. Güvenlik için özel bir ağ kullanılması önerilir.
Özel ağı yapılandırın
1. Özel ağdan gelen bağlantılara izin vermek için güvenlik duvarı hizmetini güncelleyin :
2. Özel arabirim açılıncaya ve IP adresi atanana kadar Redis’in başlatılmasını geciktirmek için bir systemd hizmeti oluşturun.
Aşağıdaki metni dosyaya yapıştırın, ardından kaydedin ve kapatın:
3. Redis yapılandırma dosyasını düzenleyin.
4. Redis’in bağlanması gereken özel IP adresini ekleyin. Örneğin, Redis’in hem dahili geridöngü (127.0.0.1) hem de özel bir IP adresine (192.168.0.100) bağlanması gerekiyorsa:
5. Yapılandırma dosyasını kaydedin ve kapatın.
6. Değişiklikleri uygulamak için Redis’i yeniden başlatın.
Özel ağı test edin
- SSH ile özel ağınızdaki uygulama sunucularınızdan birine bağlanın.
- Uygulama sunucusunun da CentOS 8 olduğunu varsayarsak, redis-cli yazılımını almak için geçici olarak Redis’i kurun.
3. Kullanım Redis-cli Redis sunucusuna bağlanmak için programı.
Bağlantı başarılı olursa, Redis komut istemini göreceksiniz:
4.Çalıştığından emin olmak için bazı Redis komutları girin:
5. Aşağıdaki sonucu görüyorsanız, Redis düzgün çalışıyor demektir.
6. Redis paketini uygulama sunucusundan kaldırın .
Sonuç
Redis hakkında daha fazla bilgi edinmek için şu kaynaklara bakın:
- Redis’in SSS
- Redis’i LRU önbelleği olarak kullanma
- Redis Kalıcılığı