~/labs / redis-xotirani-yemasinback

Asoslar9/15

Redis xotirani yeb qo'ymasin

Cache serveri bir hafta ishlagach, host'da xotira tugab api OOM bilan yiqildi. Redis hech qachon eskirgan kalitlarni o'chirmagan — chunki unga qancha xotira ishlatishing mumkin deyilmagan. Standart holatda Redis chegarasiz.

  1. cache ni --maxmemory 256mb --maxmemory-policy allkeys-lru bilan ishga tushiring (command: orqali). allkeys-lru — joy tugasa, eng uzoq ishlatilmagan kalit chiqib ketadi.
  2. Konteyner darajasida ham chegara qo'ying (deploy.resources.limits.memory) — Redis'nikidan kattaroq, masalan 384M, chunki jarayonning o'zi ham joy oladi.
  3. Healthcheck yozing: redis-cli ping javob bersa — tirik.
  4. redisdata nomli volume'ni /data ga ulang, shunda restart'da cache bo'sh boshlanmaydi.
  5. Server qayta yuklanganda ko'tarilsin (restart: unless-stopped).
…
docker-compose.yml
✓ YAML to'g'ri · 1 servis
Tab ichkariga · Shift+Tab tashqariga⌘/Ctrl+Enter tekshirishEsc maydondan chiqish

1 servis · 0 tarmoq · 0 volume · tuzilma toza

✓ Compose e'tiroz bildiradigan narsa topilmadi. Vazifa talablari esa serverda, ishga tushirganda tekshiriladi.

Servislar 1

redis:7-alpine
portlar
chiqarilmagan — faqat ichki tarmoq
healthcheck
yo'q
restart
no (standart)
user
root (standart)
tarmoq
default

Ishga tushish tartibi

  1. cachehech kimni kutmaydi