Cache در لاراول با Redis

زمان قرارگیری : 09 تیر 1396
زمان این قسمت : 13:04
برای دسترسی به این دوره نیاز است بصورت نقدی این دوره را خریداری کنید و این دوره بخشی از دوره های اعضای ویژه نمیباشد

تعداد شرکت کنندگان 1181 نفر
قیمت دوره 125000 تومان
وضعیت دوره تکمیل شده
زمان کل دوره 30:19:42
تعداد قسمت‌ها 51
نوع دسترسی نقدی

در این جلسه ابتدا بصورت کامل تر متدهای cache رو معرفی میکنم و بعد با تغییر برخی تنظیمات به شما نشون میدم که چقدر ساده میتونید cache رو با redis انجام بدید و همینطور بهتون نشون میدم که چطوری میتونید با چند روش و همزمان اطلاعات رو کش کنید.

رایگان 04:34
برای دسترسی به این دوره نیاز است بصورت نقدی این دوره را خریداری کنید و این دوره بخشی از دوره های اعضای ویژه نمیباشد

تعداد شرکت کنندگان 1181 نفر
قیمت دوره 125000 تومان
وضعیت دوره تکمیل شده
زمان کل دوره 30:19:42
تعداد قسمت‌ها 51
نوع دسترسی نقدی

آنلاین
user-avatar
مدرس دوره حسام موسوی

اول داستان، طراح گرافیک بودم و ۲ سالی به عنوان طراح مشغول بودم، بعد به برنامه‌نویسی علاقمند شدم و الان بیشتر از ۱۰ ساله که عاشق کدزنی و چالش‌های پروژه‌های مختلفم. به تدریس علاقه خاصی دارم و دوست دارم دانشی که در این راه بدست آوردم را در اختیار دیگران هم قرار بدم. 

سوالات و گفتگو‌ها

سوالات و گفتگو‌ها

اگر سوال و مشکلی یا حتی بحثی در یکی از حوزه‌های برنامه‌نویسی دارید این بخش به شما کمک ویژه‌ای خواهد کرد

دورهای پیشنهادی

مشاهده همه دوره ها
آموزش پروژه محور لاراول

آموزش پروژه محور لاراول

آموزش لاراول آن هم با پروژه در یک آموزش پروژه محور لاراول یک شانس برای یادگیری بهتر و کاربردی‌تر لاراول محسوب می‌شود که در این دوره قصد اینکار را داری...

آموزش لاراول

آموزش لاراول

فریمورک لاراول یکی از محبوبترین و بهترین فریمورک های حال حاضر برای زبان php می باشد، آموزش لاراول راکت می‌تواند به شکل رایگان به شما لاراول را آموزش د...

آشنایی با امکانات جدید لاراول 5.5

آشنایی با امکانات جدید لاراول 5.5

در همین ابتدای این دوره باید بگم کسانی میتونن این دوره رو مشاهده کنند که با لاراول آشنا باشن پس اگر هنوز نمی دونید که لاراول چطور کار میکنه ، لطف ابتد...

آموزش پکیج نویسی لاراول

آموزش پکیج نویسی لاراول

اگر با لاراول و پکیج ها آشنا باشید مطمئنن میدانید که پکیج ها بخش مهمی در لاراول هستند و به برنامه نویسان و توسعه دهندگان لاراول کمک میکنند تا بتوانن ب...

دسترسی رایگان برای اعضای ویژه

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر لازم است ابتدا وارد سایت شوید
آفلاین
user-avatar
حمید رضا رمضانی
1 هفته پیش

config.php

استاد درود بر شما توی فایل config شما value connection اون default هستش ولی برا من طبق تصویر cach هستش ولی وقتی از کش میکنم تو ردیس key جدید اضافه نمیشه ولی وقتی میزارم رو دیفالت میشه ولی وقتی رو cach باشه value کانکشن اونموقع کجا این کش سیو میشه

آنلاین
user-avatar
حسام موسوی
1 هفته پیش

درود بر شما متوجه منظورتون نشدم

آفلاین
user-avatar
حمید رضا رمضانی
1 هفته پیش

من تو فایل cache.php در دایرکتوری config قسمت redis که تو تصویر اول میبینید برای connection به صورت اصلی رو cache ست شده و وقتی میخوام برای cache از redis استفاده کنم اون صفحرو که از cache استفاده میشه رو رفرش میکنم تو Redis مقداری ست نمیشه و نمیدونم کجا اون cache سیو میشه بعد طبق تصویر دوم من اون value رو به default تغییر میدم اون موقع میشه و در redis برای مثال laravel:course ست میشه حالا سوال من اینه که وقتی اون value رو cache باشه کجا این سوی میشه کش مورد نظرمن

توضیح تصویر رو وارد کنید

توضیح تصویر رو وارد کنید

آنلاین
user-avatar
حسام موسوی
1 هفته پیش

نمیدونم جای توضیحی هم براش نوشته نیست خودم باید این مورد رو تست کنم تا ببینم داستانش چیه

آفلاین
user-avatar
حمید رضا رمضانی
1 هفته پیش

درود بر شما استاد میخواستم بدونم آیا برای بازدید مقاله ها و ویدیو ها و کورس ها از نظر استاندارد با redis بهتره یا با همون ذخیره کردن در mysql؟

آنلاین
user-avatar
حسام موسوی
1 هفته پیش

درود بر شما
بستگی داره که قصدتون چی هست برای مشخص کردن بازدید تکراری redis هم کنار mysql باشه خوبه

آفلاین
user-avatar
حمید رضا رمضانی
1 هفته پیش

استاد مثلا الان سایتی به نام youtube ویو های ویدیو هاش ایا بر اساس رفرش صفحه هستش یا هر کاربر یک ویو برای هر ویدیو ؟

وبعد اینکه چجوری میشه اینکارو که برای ویو های تکراری حذف شن انجام داد با Redis ممنون میشم بگین

آنلاین
user-avatar
حسام موسوی
1 هفته پیش

برای یوتیوب رو نمیدونم میتونید خودتون بررسی کنید
در مورد حذف ویوهای تکراری با استفاده از redis ای پی کاربر رو برای 1 روز cache کنید که یه صفحه رو دیدیه و اگر دوباره اومد توی اون صفحه بررسی بشه cache وجود داره براش یا نه

آفلاین
user-avatar
حمید رضا رمضانی
1 هفته پیش

استاد درود بر شما ببخشید من انقد سوال کردم چیزی رو که گفتید رو زدم و کار کرد الان به نظرتون چیزی که زدم از هر نظر درسته یا نه (تو CourseController هم اینه و هم در ArticleController کد ها یکی هستش)
توضیح تصویر رو وارد کنید

آفلاین
user-avatar
حمید رضا رمضانی
1 هفته پیش

استاد کلا چیزی که نوشته بودم کار میکرد ولی از نظر منطقی اشتباه بود

الان این ایده رو دارم انکه وقتی کاربروارد سایت میشه آی پی برای 1 روز Cache بشه و وقتی مثلا وارد صفحه یک مقاله شد یک کشی به نام views.{$article->id}.{$user_ip}.articles ثبت بشه با ip اون کاربره وقتی صفحه رفرش بشه ببینیم که اول ایا اون cache وجود داره یا نه بعد اگر وجود داشت increment نشه ولی اگه وجود نداشت increment بشه و برای همه صفحات دارای مقاله یا کورس این انجام بشه به نظرتون درسته یا نه؟(چون آی پی ها کلا unique هستن)

آنلاین
user-avatar
حسام موسوی
1 هفته پیش

درسته مشکلی نداره

آنلاین
user-avatar
حسام موسوی
1 هفته پیش

با این عنوان کش کردن بهتره

views.{$article->id}.{$user_ip}
آفلاین
user-avatar
حمید رضا رمضانی
1 هفته پیش

استاد این کد نهایی هستش این بهنظرتون اوکی هستش من ران کردم کاملا درسته

توضیح تصویر رو وارد کنید

آنلاین
user-avatar
حسام موسوی
1 هفته پیش

چند نکته‌ وجود داره ! اول اینکه مقدار view اصلی رو به شکل فیلد در جدول course یا هر جدول دیگه قرار بدید چون cache کردن ذخیره سازی همیشگی نیست برای view_count
مورد بعدی یک کلاس برای این موضوع بنویسید تا کدتون تمیز و ساده‌تر بشه

آفلاین
user-avatar

استاد فهمیدم

ممنون بابت پاسخگویی سریع و عالیتون

آفلاین
user-avatar

استاد کاری که گفتید رو انجام دادم و این دراومد و خیلی کد هام کم شد من کلاسی به نام ViewCount ساختم و بعد تو هر کنترولری اونو صدا میکنم
توضیح تصویر رو وارد کنید

توضیح تصویر رو وارد کنید

آنلاین
user-avatar
حسام موسوی
6 روز پیش

همونطور که گفتم بهتر هست در نهایت view_count رو در جدول مورد نظر ذخیره کنید تا برای همیشه در دسترس باشه

آفلاین
user-avatar
اسماعیل
3 ماه پیش

با سلام
وقتی از redis استفاده می کنم ارور زیر را نمایش میده

Please make sure the PHP Redis extension is installed and enabled.

آنلاین
user-avatar
حسام موسوی
3 ماه پیش

سلام در جلسه هم توضیح دادم یا شما باید پکیج predis رو نصب کنید یا افزونه redis برای php رو

آفلاین
user-avatar
اسماعیل
3 ماه پیش

با سلام

من پکیج predis را روی پروژه نصب کردم ولی بازم این ارور را میده.

آنلاین
user-avatar
حسام موسوی
3 ماه پیش

وارد فایل database بشید و client مربوط به redis رو رویه predis قرار بدید

آفلاین
user-avatar
z.mehran
1 سال پیش

سلام
استاد من cache-driver رو به redis تغییر میدم ولی موقع cache شدن از redis استفاده نمیکنه
اروری هم نداره

آنلاین
user-avatar
حسام موسوی
1 سال پیش

سلام اول اینکه باید مقدار CACHE_DRIVER رو که ست کردید داخل دایرکتوری conifg و فایل cache.php ببینید مقدار default آیا مقدار CACHE_DRIVER رو میخونه از .env یا نه ؟

آفلاین
user-avatar
z.mehran
1 سال پیش

بله از env. میخونه پارامتر دومش هم file بود من redis کردم بازم جواب نمیده

'default' => env('CACHE_DRIVER', 'redis')

آنلاین
user-avatar
حسام موسوی
1 سال پیش

خوب راه نداره قطعا قسمتی رو اشتباه انجام دادید .

آفلاین
user-avatar
حمید رضا رمضانی
1 هفته پیش

شما باید در فایل cache.php در کانفیگ تو قسمت Redis و connection باید connection بروی حالت default باشد

آفلاین
user-avatar
مجید
1 سال پیش

درود..//
برای من redis کار نکرد..آخرین ورژن لاراول رو نصب کردم
یه سوال دیگری هم داشتم!
چطور توابع مثلا store() برای هلپر فانکشن ها و فساد ها یکیه و روی هر دو جواب میده؟
ممنون

آنلاین
user-avatar
حسام موسوی
1 سال پیش

سلام
چرا کار نکرد اروری داده ؟
توابع store در کدوم قسمت ؟

آفلاین
user-avatar
مجید
1 سال پیش

نه مهندس اصلا اررور نداد!بعد از اینکه تنظیمات redis رو جایگزین file میکنم،دستور:
redis-cli سپس keys * رو میزنم مقدار جدید ایجاد نمیشه!البته به روت موردنظر رو هم وارد میشم.
//////////
cashe()->store('file')->put('test')
یا
Catche::store('file')->put('test')
چطور ممکنه که متد store داخل هر دو مشترک هست؟

آنلاین
user-avatar
حسام موسوی
1 سال پیش

اینجا دیگه شما به store نیاز ندارید
زمانی که از کانفیگ تغییر بدید به redis دیگه نباید تو store بگید
فایل چون دوباره تو فایل کش میکنه

آفلاین
user-avatar
مجید
1 سال پیش

بدون store هم واب نداد!

آنلاین
user-avatar
حسام موسوی
1 سال پیش

پس شما درست پیش نمیری

آفلاین
user-avatar
مجید
1 سال پیش

دقیقا همان کاری که شما انجام دادید رو انجام میدم
فکر کنم بعد از نصب redis مقدار redis رو داخل فای کانفیگ تغییر دادید

آنلاین
user-avatar
حسام موسوی
1 سال پیش

اصلا این امکان نداره من یکاری رو در دوره انجام بدم بشه شما همونو انجام بدی نشه
اصلا قبول نمیکنم ان داستان رو .
و مطمئنند شما یک بخشی رو درست انجام نمیدی چون اگر خلاف این بود ککلا نظرات این قسمت میشد پیام های همین مشکل
بنابراین پیشنهاد میکنم یکبار از ابتدا همه چی از اول بررسی کنید از اجرا بودن سرور redis تا فراخونی و ذخیره کردن

آفلاین
user-avatar
Mostafa Nazar
2 سال پیش

برای به روز رسانی هم میشه از scheduling استفاده کرد؟
مثلا بگیم بعد از از این که مثلا تاریخ انقضا محصول تموم شد حالتش تغییر بکنه؟

آنلاین
user-avatar
حسام موسوی
2 سال پیش

بله چرا نشه مثلا هر ۶ ساعت یکبار میتونید اجراش کنید .

آفلاین
user-avatar
Mostafa Nazar
2 سال پیش

سلام
یه سوال ؛ اگه بخوایم بازدید ها رو بر اساس ای پی کاربر مجزا کنیم و این رو مثلا توی جدول که نام مقاله و ای پی کاربر رو نشون بده میخوام قرار بدم . تا اینجا مشکلی نیست . سوال من این هستش که میخوام بازدید ها رو براساس روزانه قرار بدم و زمانی که روز بعد اومد جدول پاک بشه و دوباره از نو شروع به اضافه کردن بکنه چطور باید انجام بشه . منظورم اینه خودکار پاک کنه ردیف های جدول رو

آنلاین
user-avatar
حسام موسوی
2 سال پیش

میتونید از Scheduling استفاده کنید و مثالا بگید ساعت ۱۲ هر شب عملیات پاک شدن این دیتابیس انجام بشه

آفلاین
user-avatar
saeed
2 سال پیش

سلام طبق گفته شما نمیشه از redis تو هاست اشتراکی استفاده کرد؟

آنلاین
user-avatar
حسام موسوی
2 سال پیش

سلام خیر من هاستی رو با این شرایط ندیدم .

آفلاین
user-avatar
parsa
3 سال پیش

چه جوری میتونم روی مک نصبش کنم؟

آنلاین
user-avatar
حسام موسوی
3 سال پیش

راهنمایی نصب در وبسایت خود redis وجود داره

آفلاین
user-avatar
raha001
3 سال پیش
سلام
نرم افزاری هست مثل navicatکه بشه دیتابیسمون تو ردیس رو به صورت گرافیکی ببینیم و نیازی به command نباشه؟؟
آنلاین
user-avatar
حسام موسوی
3 سال پیش
سلام
میتونید از این نرم افزار استفاده کنید
https://redisdesktop.com/
آفلاین
user-avatar
سعید محمدی
3 سال پیش
سلام میشه زحمت بکشید یه امکانی بزارید تا برخی از فیلم های آموزشی رو بصورت کاستوم خرید کرد. مثلا بنده در این آموزش فقط نیاز دارم که قسمت redis رو بخرم و بقیه رو نیازی ندارم.
آنلاین
user-avatar
حسام موسوی
3 سال پیش
سلام مرسی از نظرتون
ولی خیر چنین امکانی وجود نداره با تشکر از شما