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

پروژه lruclockcache

tugrul512bit/LruClockCache

این یک کتابخانهٔ C++ برای پیاده‌سازی کش با الگوریتم تقریبی LRU (حداقل استفاده‌شده اخیر) با استفاده از الگوریتم CLOCK Second-Chance است.

کاربرد:

این کتابخانه برای موقعیت‌هایی طراحی شده که نیاز به سرعت بالا و تأخیر کم در عملیات‌های کش دارید، مثل سیستم‌های پردازش بلادرنگ، پایگاه‌های داده در حافظه، یا سرورهای اپلیکیشن‌های مقیاس‌پذیر.

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

وقتی به دنبال یک کش با عملکرد بسیار بالا هستید و نمی‌خواید هزینهٔ پیاده‌سازی LRU واقعی (مثل لیست‌های پیوندی) رو بپردازید. این الگوریتم با استفاده از دسته‌ای از صفحه‌های چرخان (CLOCK) و بیت ارجحیت، تقریب خوبی از LRU ارائه می‌ده و تا 2.5 میلیارد جستجو در ثانیه عملکرد داشته!

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

کش کردن نتایج پرس‌وجوهای پایگاه داده در حافظه

ذخیره‌سازی موقت داده‌های کاربر در سرویس‌های API

استفاده در سیستم‌های شبیه‌سازی یا بازی‌های بلادرنگ با نیاز به دسترسی سریع به داده

کش چندسطحی (multi-level) برای بهینه‌سازی دسترسی به داده در سطوح مختلف حافظه

  • ##HighPerformance
  • ##Caching
  • ##CLOCKAlgorithm
  • ##LowLatency
  • ##MultiLevelCache
  • ##Cpp
  • ##InMemoryCache
  • ##SecondChance
  • ##LRUApproximation
  • ##FastLookup