از Pista Academy حمایت کنید
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در جلسه 2 آموزش جامع فارسی Redis از صفر تا حرفهای، مدرس به بررسی دستورات مختلف Redis مانند SET، GET، MSET، MGET، DEL، GETRANGE و SETRANGE میپردازد. همچنین، مفهوم اکسپیر تایم (EXPIRE) و نحوه استفاده از آن برای مدیریت دادههای موقت در Redis توضیح داده میشود. این جلسه به دانشجویان کمک میکند تا با نحوه ذخیره، بازیابی و مدیریت دادهها در Redis آشنا شوند.
نکات کلیدی
استفاده از دستورات SET و GET برای ذخیره و بازیابی دادهها در Redis
کار با دستورات MSET و MGET برای مدیریت چندین کلید در یک عملیات
استفاده از دستور EXPIRE برای تعیین مدت زمان موقت ذخیره دادهها
نحوه استفاده از دستورات GETRANGE و SETRANGE برای کار با دادههای رشتهای
متن ویدیو
متن زمانبندیشده این جلسه برای مرور، جستجو و دسترسی سریعتر.
سلام عرض میکنم خدمت دوستان عزیز. خب بریم سراغ ادامه بحثمون توی ردیس. یه
ذره بیشتر میخوایم این جلسه راجع به ست
صحبت بکنیم و یه نکتهای راجع به ست بهتون
بگم. خب
توی ست بچهها ما یه پارامتری داریم به
نامش.
ای ایکس داریم پی ایکس داریم و ای ایک ایس
ایتی داریم و پی ایک ایتی. اینا چیکار
میکنن؟ زمانی که شما یک دیتایی رو
میخواید داخل ردیت ست بکنید میتونید
براش اکسپیر تایم بذارید مثلاً بگید این
دیتا مثلاً تا ۵ دقیقه معتبره بعدش پاک شه
تو دیتابیسه از تو ردیس پاک بشه
اول بریم نحوه انجامشو ببینیم بعد راجع به
چراییشم صحبت میکنیم
خب بیایم اینجا من یه دونه ست بکنم
یه کلیدیو به نام کالر
ردم میذارم مقدار ارشو
ای ایکسشو میذارم د یعنی ۲ ثانیه فقط
اعتبار داره خط بعدی بلافاصله یه گت
میذارم که بتونم سریع ببینمش تو این
پایینی هم یه گت میذارم
که بتونم ببینمش
اینو ران کنم چون بلافاصله بعد از این
اومده طبیعتاً ۲ ثانیه نگذشته پس ردو بهم
نشون میده اینجاهم سریع بزنم ردو نشون
میده اما الان ۲ ثانیه قطعاً گذشته و
دوباره ران کنم نال میشه چرا چون دیتا پاک
شد.
حالا سؤالی که پیش میاد اینه که خب این
کاربردش چیه؟ به چه دردی میخوره؟ بریم با
هم یه مثال ببینیم توی تصویر ببینیم.
بچهها فرض کنید شما یه ایپیآی دارید. خب فرض کنید یه ایپیآی دارید
که قراره با این دیتابیس ردیس شما کار
بکنه با اپ شما کار کنه. فرض کنید شما در
حالت عادی بچهها د تا دیتابیس دارید. یه
دونه دیتابیس معمولتونو دارید
خب مثل همه دیتابیسهای عادی اس کی و هرچی که
دارید خب یه دونههم ردیس دارید که برای کش
سرور استفاده میشه ردیس اصلاً ردیس
قابلیتش به خاطر این بود سرعتش به خاطر
این بود که کشف میکرد خب این میشه ردیس
تو مموری کار میکرد دیگه
اصلاً برای اینکه دیتا رو ما پاک میکنیم
به خاطر همین همینه چون نباید دیتا اونجا
برای همیشه بمونه پر میشه عملاً مثل
دیتابیس عادی نیست که فضای زیادی داشته
باشه ما یه فضای محدودی تو ردیس داریم
زمانی که ایپیآ ریکوست میخواد بزنه خب
ریکوستشو میبره سمت ردیس اگه دیتایی تو
ردیس باشد بهش میده اگه دیتایی تو ردیس
نباشه چیکار میکنه دی ریکوستو میبره سمت
دیتابیس عادی بعد دیتابیس عادی چیکار
میکنه کنه میاد یه کپی از این دیتا رو
میذاره داخل ردیس. دفعه بعدی قبل از
اکسپایر تایم اگه ایپیآی دوباره برای همون
دیتا ریکوست بزنه میره از ردیس میخونه و
سریعترم میخونه قبل از اکسپیر تایم. پس
قابلیت اکسپایت به خاطر اینه که دیتا زیاد
تو ردیس نمونه یه زمانی داشته باشه کش
خالی بشه اگر رفت سراغ دیتابیس عادیست
سریع میاد تو ردیس یه کپیشو نگه میداره
که برای ریکوست بعدی بره از اون بخونه.
ما د تا دستور مشابه هم داریم توی در حقیق ردیس یکی به نام
ست ای ایکس داریم بچهها که همون سته با
این تفاوت که ترتیبش اینجا فرق میکنه
میاد میگه کلیدو بده اول بهم بعد اکسپیر
تایمو بده بعد مقدارو بده همین
اصلاً دیگ دیپلیکیتم شد این کامند بچهها
دیگه وجود خارجی نداره واقعاً چیزی به درد
نخوری بود. یه ست ان ایکس هم داریم. اینم
دیپلیکیت شده. پس اصلاً راجع بهش صحبت
نمیکنیم. جفتشون دیپلیکیت شدن.
بریم سراغ دستور بعدی که اینجا هست. یه دستوری اینجا داریم به نام بذارید پیداش
کنم.
اگه بشه سرچش کرد که عالیه. آ ام گته. نه
یه ام ستم داریم ما.
دستور ام ست ایناش میتونید چند تا کلید ولیو ست بکنید باهاش بچهها بریم یه تست
بکنیم
میگم که ام ست کلید اول مثلاً کالر مقدار اول کلید دوم
مقدار دوم مثلاً تویتا خب
حالا یه دونه گت اینجا من بزنم کالر
و یه گتم بزنم مدل جفتشو بین برمیگردونم
دومی رو برگردوند اولی رو برنگردوند چون د تا نمیشه بذارید اینو بزنم
خب پس شما میتونید در حقیقت هر د تا رو یا هر چند تا که دوست دارید رو
در حقیقت با ام گت صبر بکنید یه دستور
دیگه داریم
به نام
ام ست ان ایکس ببینم هنوز هستش چون نمیدونم اصلا هست
ام ست ان ایکس امتول اینم دیپلیکیت شده
باشه نه این دیپلیکیت نشده خب این چیکار
میکنه بریم داکومنتشو با ببینیم
میگه که ست میکنه ولیوها رو به کی
میگه این دستور اجرا اجرا نمیشه
اگر یکی از اینا قبلاً وجود داشته باشه بریم ببینیم واقعاً من یه الان میایم
اینجا یه ام ست میزنم
ام ست ان ایکس ام ست ان ایکس
مثلاً کالر رو میذارم دوباره میکنم بلو کالر قبلاً بوده دیگه مثلاً
برند جدید اضافه میکنم بی ام دبلیو مثلاً
ببینیم اینو قبول میکنه نباید قبول کنه
چون کالر قبلاً بوده دقیقا خطا داد چرا
چون کالر قبلاً بوده حالا من کالر بکنم
کالر د این دفعه فک کنم قبول کنه قبول کرد
این دفعه قبول کرد
گت
برند
بی ام دبلیو پس اگر یکی از کلیدها قبلاً
وجود داشته باشه این کار نمیکنه
پس این فرقش با ست ام گت ام ست اینه
خب
ما یه گت داریم میبینیم یه چیز دیگه هم داریم به نام ام گت حالا بهش اشاره کردم
بگم ام گت میتونیم چند تا کلیدو باهاش
بخونیم مثلاً من میخوام کالرو بخونم مدلو
بخونم برندم بخونم همه رو میخوام بخونم
فکر کنید همه رو پشتم اینجا بهتون نشون
میده
تویوتا رد بی ام دبلیو
ما این امکانو داریم بچهها بیایم یه کلیدی رو پاک بکنیم مثلاً من میخوام کلید
کالر د رو پاک کنم فرض کن اشتباه زده بودم
اونو میگم دیل اسم کلید
الان اگه اینجا بگم کالر د دیگه بهم نشون نمیده میگم چیزی وجود نداره ا داره میگه وجود
داره که
بذارید بعد این اجرا کنیم اینو
چرا همچنان داره نشون میده
همچنان داره بلورو نشون میده دستایی که اینجا اصلاً دیگه وجود نداره که
بخواد نشون بده بریم بید دستوشو ببینیم
اینجا
چیزی عوض شده خبر نداریم
دیل
کلید
اگه نباشه که ایگنور میکنه. دقیقاً ایگنور کرد ما رو. خب
خیلی عجیبه. این بعد نال برمیگردوند ولی نکین صفر وقتی میده چون این دیگه وجود
نداره. اگه وجود نداره پس چرا داری نشون
میدی؟
نمیدونم. جالبه. حالا
بریم سراغ دستور بعدی.
یه دستور جالب دیگه داریم اینجا. نگاه
کنید. من میرم گت مدل مدلو بهم نشون بده
تویتا. یکی دیگه داریم به نام گت رنج.
کلیدو بهش میدم
شروع بهش میدم. میگم از اولین کاراکتر
شروع بکن تا دومین کاراکتر بهم بده.
نگاه کنید صفر ۱ ۲ تا دومین کاراکتر رفت تا ایندکس شماره د نه دومین کاراکتر سومین
کاراکتر میشه
پس گت رنج به درد نمیخوره
یه چیز دیگه داریم به نام ست رنج میتونیم
یه قسمتی از یک استرینگو عوض کنیم باهاش
مثلاً
ست رنج کلیدو مثلاً همین مدل میدم بعد میام میگم اوه
از کاراکتر اول شروع کن یعنی با تی اولو
شروع کن خب
اینو بذار جاش مثلاً بذار
تو یوتاائه بذار مویوتا
خب بذار ببینیم چی شد این گت مدل کنید
همین جا
تو هم میخور
میوتا شد پس بهش گفتم که از صفر شروع کن
این د تا بذار جای اون د تای قبلی هرچی
بوده
اینم دستت جالبیه ست رنج
دیگه
برا این جلسه فکر کنم کافی باشه بریم بیایم اهاشو جلسه بعدی صحبت کنیم فعلاً
خداحافظ
پرسشهای رایج
پاسخ کوتاه و مستقیم به پرسشهایی که معمولاً هنگام یادگیری این موضوع مطرح میشوند.
برای ذخیره دادههای موقت در Redis، میتوان از دستور EXPIRE استفاده کرد که مدت زمان معتبر داده را تعیین میکند.
SET برای ذخیره یک کلید استفاده میشود، در حالی که MSET برای ذخیره چندین کلید در یک عملیات است.
از دستور GETRANGE میتوان استفاده کرد که به کاربر امکان میدهد یک بخش از رشته داده را بازیابی کند.
آخرین بهروزرسانی محتوای متنی:
آموزش جامع و کاملاً عملی Redis به زبان فارسی؛ از نصب و راهاندازی تا پیادهسازی الگوهای حرفهای. در طول این دوره تمرینمحور، یک اپلیکیشن فروشگاه اینترنتی میسازیم و با مفاهیمی مثل مدلسازی داده، جستجو، همزمانی و ارتباط سرویسها در دنیای واقعی کار میکنیم. در این دوره چه یاد میگیرید؟ راهاندازی Redis بهصورت لوکال و کار با CLI دستورات افزودن و Query گرفتن از دادهها کار با Hashها، Listها، Setها و Sorted Setها (رتبهبندی و امتیازدهی) ایجاد یکتایی داده با Setها + تمرینهای عملی Pipelining برای بهینهسازی کارایی Design Patterns قدرتمند مخصوص Redis و نکات و Gotchaهای مهم تبدیل مدلهای رابطهای به مدل Redis (Data Modeling) HyperLogLog برای شمارش تقریبی توسعه قابلیتها با Scripting مدیریت Concurrency و حل مسائل همزمانی جستجو و فیلتر پیشرفته با RediSearch (Querying & Search in Action) ارتباط بین سرویسها با Streams پیادهسازی و تمرین مستمر روی پروژه E-Commerce مخاطبان برنامهنویسان بکاند و فولاستک، مهندسان داده و هرکسی که میخواهد Redis را بهصورت کاربردی و پروژهمحور یاد بگیرد.