forked from hesabix/arc
2.5 KiB
Executable file
2.5 KiB
Executable file
راهاندازی Redis برای Cache
این مستند راهنمای نصب و پیکربندی Redis برای استفاده به عنوان cache layer در Hesabix API است.
نصب Redis
Ubuntu/Debian
sudo apt update
sudo apt install redis-server -y
sudo systemctl enable redis-server
sudo systemctl start redis-server
بررسی نصب
redis-cli ping
# باید پاسخ PONG برگرداند
پیکربندی Redis
تنظیمات پیشنهادی برای Production
ویرایش فایل /etc/redis/redis.conf:
# حداکثر حافظه (مثال: 512MB)
maxmemory 512mb
# سیاست حذف کلیدها هنگام پر شدن حافظه
maxmemory-policy allkeys-lru
# ذخیرهسازی persistence (اختیاری)
save 900 1
save 300 10
save 60 10000
# امنیت
requirepass your_secure_password_here
بعد از تغییرات:
sudo systemctl restart redis-server
پیکربندی در Hesabix API
افزودن به فایل .env:
# Redis Cache
REDIS_ENABLED=true
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_DB=0
REDIS_PASSWORD=your_secure_password_here
تست اتصال
from app.core.cache import get_redis_client
client = get_redis_client()
if client:
print("Redis connected successfully!")
client.set("test", "value", ex=60)
print(client.get("test"))
else:
print("Redis connection failed")
Monitoring
بررسی وضعیت Redis
redis-cli info stats
redis-cli info memory
مشاهده کلیدهای cache
redis-cli
> KEYS api_key:*
> KEYS system:*
پاک کردن cache
redis-cli FLUSHDB # پاک کردن تمام cache
redis-cli DEL api_key:xxx # پاک کردن یک کلید خاص
Performance Tips
- Memory Management: تنظیم
maxmemoryوmaxmemory-policyمناسب - Persistence: برای cache معمولاً نیاز به persistence نیست (میتوانید disable کنید)
- Connection Pooling: Redis client به صورت خودکار connection pooling دارد
- Monitoring: استفاده از
redis-cli --latencyبرای بررسی latency
Troubleshooting
مشکل: Redis connection failed
- بررسی کنید که Redis service در حال اجرا باشد:
sudo systemctl status redis-server - بررسی firewall:
sudo ufw allow 6379 - بررسی password در
.env
مشکل: Memory full
- افزایش
maxmemoryدرredis.conf - تغییر
maxmemory-policyبهallkeys-lru