وب‌سرویس مجید

پروژه miniredis

alicbob/miniredis

کاربرد:

این یک سرور کوچک و سبک ریدیس به زبان Go هست که بدون نیاز به اجرای ریدیس واقعی، امکان تست کدهای مرتبط با ریدیس رو در محیط unittest فراهم می‌کنه.

کاملًا به صورت in-memory کار می‌کنه و برای تست‌های واحد در Go عالیه.

در چه شرایطی بهتره استفاده شود؟

وقتی داری با Go کد می‌نویسی و از ریدیس برای کش، صف یا ذخیره‌سازی موقت استفاده می‌کنی، ولی نمی‌خوای توی تست‌ها به یک سرور ریدیس واقعی وابسته باشی.

مخصوصاً توی CI/CD یا محیط‌های ایزوله که نباید وابستگی به سرویس خارجی وجود داشته باشه.

چند مثال از موارد استفاده

تست کردن عملیات SET/GET در کدهای کش

شبیه‌سازی صف‌های Redis با استفاده از LPUSH/BRPOP

تست صحیح بودن lockهای توزیع‌شده با Redis

شبیه‌سازی expire شدن کلیدها با TTL در تست‌ها

  • ##GoLang
  • ##Redis
  • ##Testing
  • ##UnitTesting
  • ##MockServer
  • ##CI
  • ##InMemoryDB
  • ##GolangTools
  • ##DevTools
  • ##Microservices