Redis
RedisRedis را همه بهعنوان «کش» میشناسند و همانجا متوقف میشوند. اما Redis یک سرور ساختمان دادهٔ درونحافظهای است: لیست، مجموعه، مجموعهٔ مرتب، bitmap و stream. وقتی اینها را بشناسی، مسائلی که با پایگاهدادهٔ رابطهای سخت بودند در چند خط حل میشوند — و مسائلی که نباید با Redis حل کنی هم روشن میشوند.
پیشرفت تو
درصد هر فصل از دو چیز میآید: چقدر از بخشهایش را خواندهای (۵۵٪) و چند تمرینش را تیک زدهای (۴۵٪). همهچیز داخل مرورگر خودت میماند.
فصل
فصلها به هم وابستهاند و ترتیبشان معنا دارد. هر مسیر با پروژههای نهایی تمام میشود: ساده، متوسط، پیچیده.
Redis چیست
درونحافظهای بودن یعنی چه، و چه چیزی را ممکن میکند.
در نوبت نوشتنرشته و شمارنده
SET، GET، INCR و عملیات اتمی.
در نوبت نوشتنhash
ذخیرهٔ شیء بدون سریالسازی کل آن.
در نوبت نوشتنlist
صف و پشته، و BLPOP برای مصرفکننده.
در نوبت نوشتنمجموعه و مجموعهٔ مرتب
عضویت، اشتراک، و جدول امتیاز با ZSET.
در نوبت نوشتننوعهای ویژه
bitmap، HyperLogLog، geo و stream.
در نوبت نوشتنانقضا و حذف
TTL، سیاستهای eviction و مدیریت حافظه.
در نوبت نوشتنالگوهای کش
cache-aside، write-through و مسئلهٔ باطلسازی.
در نوبت نوشتنpub/sub و stream
پیامرسانی ساده در برابر جریان ماندگار.
در نوبت نوشتنقفل توزیعشده
SETNX، Redlock و خطرهای واقعیاش.
در نوبت نوشتنLua و تراکنش
عملیات اتمی مرکب.
در نوبت نوشتنماندگاری
RDB، AOF و اینکه چه چیزی ممکن است گم شود.
در نوبت نوشتنreplication و cluster
دسترسپذیری، Sentinel و توزیع کلید.
در نوبت نوشتنمانیتورینگ و عیبیابی
SLOWLOG، INFO و کلید داغ.
در نوبت نوشتنپروژهٔ ۱ — لایهٔ کش
کشکردن یک API کند، با باطلسازی درست.
در نوبت نوشتنپروژهٔ سادهپروژهٔ ۲ — صف کار و محدودیت نرخ
worker، تلاش مجدد و rate limiter.
در نوبت نوشتنپروژهٔ متوسطپروژهٔ ۳ — جدول امتیاز بیدرنگ
ZSET، stream، pub/sub و مقیاس افقی.
در نوبت نوشتنپروژهٔ پیچیده