Pipeline
وقتی از pipeline تو ردیس استفاده میکنی، در واقع داری چندتا دستور رو پشت سر هم میفرستی به ردیس بدون اینکه منتظر بمونی تا جواب هرکدوم برگرده. یعنی یه جورایی همه کاراتو یهجا میریزی تو صف، ردیس همهشونو با هم میگیره و بعدم یهجا جوابتو میده. این کار باعث میشه زمان رفتوبرگشت کم بشه و سرعت خیلی بیشتر شه، مخصوصاً وقتی میخوای تعداد زیادی کلید رو بخونی یا بنویسی.
حالا rtt که مخفف round trip time هست، یعنی زمان رفت و برگشت یه درخواست تا ردیس. مثلاً وقتی یه GET
میفرستی، از لحظهای که فرستادی تا وقتی جواب برمیگرده، اون زمان میشه rtt. اگه این عدد زیاد باشه یعنی یا ردیس خیلی دوره، یا شبکهت شلوغه یا اینکه کلی درخواست داری رد و بدل میکنی. هر چی rtt کمتر، بهتر.
در نهایت برسیم به mget و mset. اینا در واقع نسخهی گروهی دستور get
و set
هستن. به جای اینکه برای هر کلید جدا get
بزنی، با mget
چندتا کلید رو یهجا میفرستی و یهجا جواب میگیری. همینطور mset
هم چندتا مقدار رو یهجا تو ردیس میذاره. اینا هم سرعت رو بالا میبرن و هم بهتر میتونن با pipeline ترکیب شن تا بهینهتر کار کنن.