اینم یه تجربه پراکنده دیگه!
معمولا یکی از مشکلات سیستمهای تحت وب وجود داره اینه که سرعت دسترسی به دیتابیس بسیار کمتر تعداد درخواستهایی است که برای دسترسی به وب وجود داره و راههای بسیاری برای افزایش این سرعت وجود داره. یکی از راهها استفاده از cache هاست که خب در سطوح مختلفی وجود داره. اما یکی از راهها استفاده از redis هست که یک دیتابیس key-value است. بدین صورت که توی redis نتایج تمامی query ها به پایگاه داده ذخیره میشه و این باعث میشه که کارایی سیستم افزایش پیدا کنه.
این دیتابیس جزء پایگاههای noSQL هست که فقط یک سری ساختمان داده رو بجای جداول و ستونها دخیره میکنه و کل پایگاه داده توی حافظه است و بصورت متناوب روی دیسک نوشته میشه بدون اینکه در عملکرد پایگاه داده اختلالی حاصل بشه. بخاطر قرار گرفتن پایگاه داده توی حافظه سرعتش خیلی بالاست و کارهای زیادی رو هم میتونه انجام بده. یکی دیگه از ویژگیهاش اینه که عملیاتهاش اتمیک هستن. یعنی اینکه هریک از عملیاتهای پایگاه داده به همدیگه گیر نمیکنن و همدیگه رو بلاک نمیکنن و این هم باعث میشه یه عملیات وقت گیر وجود نداشته باشه. همین ویژگی حتی باعث میشه که از اون به عنوان یک message broker هم بشه استفاده کرد بدین صورت که برنامههای مختلف اطلاعات رو بصورت کلیدهای مختلف روی این پایگاه قرار میدن و یا برمیدارن اما این عملیاتها بدون اختلال ایجاد کردن در کار همدیگه انجام میشه و پایگاه داده تضمین میکنه که کسی که اطلاعات رو پردازش میکنه قطعا به اطلاعات درست دسترسی داره و کارش رو درست انجام میده.
من سعی کردم یک بصورت خلاصه اینجا توضیح بدم که redis چیه و توی چه سناریوهایی ازش استفاده میکنن. سعی میکنم توی یه پست دیگه بیشتر توضیحش بدم.
همین!