Giriş ve Temel Bilgiler
FastAPI, modern ve yüksek performanslı web uygulamaları geliştirmek için kullanılan Python tabanlı bir framework. Redis ise, genellikle önbellekleme, oturum yönetimi ve mesaj kuyrukları gibi yüksek hızlı veri erişim ihtiyaçlarını karşılayan açık kaynaklı bir veri yapısı sunucusu. Bu iki teknolojinin entegrasyonu, özellikle gerçek zamanlı uygulamalar ve yüksek trafikli platformlar geliştirilirken oldukça avantaj sağlar.
Redis Kurulumu
İlk adım, Redis’in sisteminize uygun şekilde kurulmasıdır. Linux ortamında genellikle aşağıdaki komutlar kullanılabilir:
12sudo apt update
sudo apt install redis-server
Kurulumdan sonra Redis servisini başlatmak ve otomatik başlamasını sağlamak gerekir:
12sudo systemctl start redis
sudo systemctl enable redis
Kurulumun doğruluğunu test etmek için redis-cli kullanılır:
Cevap olarak "PONG" alınması, Redis’in doğru çalıştığını gösterir.
Python ve FastAPI Entegrasyonu
Redis ile etkileşim kurmak için
redis-py kütüphanesi tercih edilir. Kurulum:
FastAPI uygulamasında Redis bağlantısı kurmak ve kullanmak için aşağıdaki örneği inceleyebilirsiniz:
123456789101112131415161718192021222324from fastapi import FastAPI, Depends
import redis
app = FastAPI()
[b]Redis bağlantısı[/b]
def get_redis():
redis_client = redis.Redis(host='localhost', port=6379, db=0)
try:
yield redis_client
finally:
redis_client.close()
@app.get("/set/")
def set_value(key: str, value: str, redis: redis.Redis = Depends(get_redis)):
redis.set(key, value)
return {"status": "ok", "key": key, "value": value}
@app.get("/get/")
def get_value(key: str, redis: redis.Redis = Depends(get_redis)):
value = redis.get(key)
if value:
return {"key": key, "value": value.decode('utf-8')}
return {"error": "Key not found"}
Bu yapı, Redis ile temel veri işlemlerini sağlarken, bağlantı yönetimini de optimize eder.
Performans ve Güvenlik İpuçları
- Redis bağlantı havuzu kullanımı, yüksek trafikli uygulamalarda kaynak kullanımını optimize eder.
- Redis’in güvenliği için, uzak erişimi sınırlandırmak ve şifreleme yöntemlerini uygulamak gerekir.
- Ayrıca, Redis yapılandırmasında persistence ayarlarını dikkatli yapmak, veri kaybını önler.
Bu temel adımlar, FastAPI ile Redis entegrasyonunu hızlıca gerçekleştirmenize olanak sağlar. Uygulamanızın ihtiyaçlarına göre, Redis’in Pub/Sub, Lua scripting veya Cluster modüllerini de kullanabilirsiniz.