از Pista Academy حمایت کنید
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در جلسه 17 آموزش Redis، مدرس به بررسی استفاده از سورتد ست (Sorted Set) در پروژه فروشگاه میپردازد. این بخش به بررسی نحوه ذخیره آیدی کاربران در زمان ثبتنام و جستجوی آنها با استفاده از یوزرنیم و پسورد میپردازد. همچنین، تبدیل آیدی به عدد برای استفاده در سورتد ست به عنوان یکی از مراحل ضروری مطرح میشود.
نکات کلیدی
استفاده از سورتد ست برای ذخیره و جستجوی آیدی کاربران با یوزرنیم و پسورد.
تبدیل آیدی به عدد برای استفاده در سورتد ست.
جستجوی سریع کاربران با استفاده از این ساختار دادهها.
نیاز به تبدیل آیدی به عدد برای ایجاد ترتیب در سورتد ست.
متن ویدیو
متن زمانبندیشده این جلسه برای مرور، جستجو و دسترسی سریعتر.
سلام عرض میکنم خدمت دوستان عزیز. بریم سراغ
ادامه بحثمون و ما جلسه قبلی در رابطه با
سورتد ستها صحبت کردیم. حالا میخوایم
اینو بریم استفاده کنیم تو اون پروژهای
که داشتیم تو اون پروژه سایت حراجی که
داشتیم.
کجا به درد میخوره؟ سوال اول
خیلی جاها به درد میخوره. بریم ببینیم با
همدیگه چند تا مثالشو بذار بعد پروژه رو
من ران کنم
[صدای خرناس] خب لوکال هاست ۳۰۰۰
ما یه جایی فراآیند مونو راتون باشه درست نکردیم کجا بود ما ساینآپو درست کردیم ولی
ساینینو درست نکردیم یعنی الان همش هی
مجبور بودیم با یوزر جدید ثبتنام بکنیم
چرا ساینینو نمیتونیم درست بکنیم تا الان
با چیزایی که تا الان یاد گرفتیم
یه بار بریم فرند ساینینو با هم ببینیم
اینجا داشتمش جایی
خب توی ساینآپو که داریم ساینین چیکار چه اتفاقی میفته بچهها
کاربر میاد یوزر پسشو میزنه
بعد من باید برم توی دیتابیسم چک کنم
ببینم پسورد این یوزرنیم درسته یا نه حالا
مشکلی که دارم تو ریست چیه من اگه بخوام
برم تو اون هشا بگردم اون یوزررو پیدا کنم
باید آیدیشو داشته باشم باید اینو داشته
باشم
یادتون باشه بعد این
آیدیه رو باید داشته باشم که به ۸ برسم سم مشکل اینجاست که من این آیدی رو
ندارم من فقط یوزر پسو دارم خب چیکار کنیم
الان
یه راهی داره نمیخوایم بریم سمتش میخوام
از سورتد ست استفاده بکنیم چیکار میکنم
میگم که زمانی که کاربر داره ثبت نام
میکنه به ازای هر کاربری که ثبت نام میشه
من یه دونه ۸ درست میکنم این که سر جاشه
یه ستم درست میکنم یوزرنیما رو داخلش
ذخیره میکردم یادتون باشه خب حالا میام
یه سورتد ستم درست میکنم که میام یوزرا
رو با آیدیشون توش ذخیره میکنم سورت
میکنم. پس زمانی که ثبتنام اتفاق میفته
من عملاً سه تا چیز درست میکنم.
یه دونه ۸ درست میکنم
با چه فرمتی بود؟ مثلاً یوزر هشتگ آیدیش مثلاً ۴۵۲ که داخلش چیا ذخیره میشد
یوزرنیم و پسورد این تا اینجا
که داخلش یوزرنیم
کنارش یه ست درست میکردیم یادتون باشه که تو این ستا چیا ذخیره میشد یوزرنیما
فقط
این سته حالا میام کنارش یه سورتد ست ذخیره درست
میکنم
که چیا داخلش ذخیره میشه یوزرنم با آیدیش در قالب ممبر و اسکور
و سورتم هست دیگه
در قالب ممبر و اسکورپ حالا من میتونم وقتی کاربر یوزرنم پسوردشو میده بر
ساینینگ از طریق این سورت سته من آیدیشو
پیدا کنم آیدی میشه همون اسکول خب با
یوزرنیم میتونم پیدا کنم بعد آیدی رو
پیدا کردم برم هشو پیدا کنم پیدا کردم
پسوردو تطبیق بدم این میشه فراآیندمون
خب برگردم توی کدم
میام توی کوی میرم اول توی
کجاست کی نیست اینا اول یه کلید درست میکنم برای سورتدت لیستم خب
نیمز کی
که ریترن میکنه هیچی به اون ورودی
نمیگیره این استرینگ ف ریترن میکنه
این کارو میکنم که اشتباه نشو تو کل پروژه هم هر جا من اشاره کردم به در حقیقت
این سورتد سته اسمش ثابت باشه من خیالم
راحت باشه یوزرنیمز درسته خب بریم جلوتر
میت چیکار کنین از این استفاده کنم اینو میارم میارم توی یوزرز
ایناش اول اینو این بالا ایم اینپورت میکنم
بعد میام توی اینجا اینجا که دارم یوزررو
میسازم بعد از اینکه و درست کردم ستم
درست کردم میرم سراغ سورتدت ست ست میگم
اویت
کلاینت.ز
زد
ا
یوزرنیمز کی خب اینجا در قالب یک آبجکت ببرم داخل اون
ممبر و اسکوررو در قالب آبجکت
یه ولیو داره میشه همون ممبر
یه دونه هم اینجا اسکورشه که مشخصه حالا
اسکور میشه همون آیدیه
ولیو چی میشه؟ میشه این یوزر نیممه که میشه همون ممبرمون
یه خطایی داره میده بچهها خطای دلیلش
چیه؟
به خاطر اینه که آیدی بچهها که توسط کی
درست میشه؟ آیدی آیدی توسط ایشون درست
میشه در قالب یک استرینگ درست میشه عدد
نیست در قالب هگزادسیماله
یه همچین چیزیه مثلاً
مثلاً ۱۲۴ بی سی ۵۴ سی مثلاً یه همچین
چیزیه در قالب ۱۶ تایی هگزادسیماله من اول
باید اینو تبدیلش کنم به یک عدد بعد بیارم
تو اسکور ذخیره کنم چهجوری تبدیل میکنیم
به عدد
یه دستوری داریم میم پارس اینت
میگم آیدی رو بگیر ولی در قالب ۱۶ تاییه
اینو تبدیلش کن به عدد الان درست شد
پس میاد یه سورتد ستم درست میکنه تمام
یوزرنمها رو با آیدیشو میبره داخل ذخیره
میکنه سورت میکنه بر اساس آیدی حالا من
میتونم این بالا تو فرایند در حقیقت
ساینیم ازش استفاده کنم اینو بریم بیایم
جلسه بعدی راجع بهش صحبت کنیم فعلاً
خداحافظ
پرسشهای رایج
پاسخ کوتاه و مستقیم به پرسشهایی که معمولاً هنگام یادگیری این موضوع مطرح میشوند.
سورتد ست برای ذخیره آیدی کاربران در زمان ثبتنام استفاده میشود تا جستجو و ارائه آنها به ساینینگ به صورت سریع و مرتب امکانپذیر شود.
تبدیل آیدی به عدد ضروری است زیرا سورتد ست به اعداد برای ترتیب دادن دادهها نیاز دارد.
آخرین بهروزرسانی محتوای متنی:
آموزش جامع و کاملاً عملی 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 را بهصورت کاربردی و پروژهمحور یاد بگیرد.