سلام . من در برنامه ام به سرور درخواست یک صفحه ای را میدهم ، مثلا یک نمودار . سرور برای تهیه این صفحه قدری روی دیتابیس پردازش میکند و سپس صفحه را به سمت کلاینت ارسال میکند . این فرآیند ممکنه با توجه به حجم پردازشی که سرور انجام میدهد قدری طولانی بشه مثلا 20 ثانیه طول بکشه . تا اینجاش مشکلی نیست . میخواستم یکبار که این عمل انجام شد تا نشست کاربر تمام نشده ، هرگاه که کاربر مجدد اون صفحه را درخواست کرد اون صفحه از خود کلاینت لود بشه و معطل پردازش مجدد که قطعا تغییری نکرده نشه . آیا راهکاری برای اینکار وجود داره ؟ ممنونم
@samanf33
سلام.
برای این کار می تونید کوئری دیتابیس رو کش کنید. از ابزار هایی مثل redis یا memcached می تونید استفاده کنید.
@ashkannazari248 سلام وقتتون بخیر.
دو راه دارید یکی کش کردن سمت سرور و یکی کش کردن سمت کلاینت.
سمت سرور خیلی کار سختی نیست می تونید از فاساد Cache لاراول استفاده کنید.
این لینک بهتون کمک میکنه
@MehdiAghighi
سلام. چرا من رو تگ کردین؟!
کش کردن سمت سرور یعنی استفاده از منابع سرور و باز باید درخواست برای دریافت کش سمت سرور ارسال بشه!
@ashkannazari248 ببخشید اشتباه تگ کردم فکر کردم شما سوال رو مطرح کردید.
کش کردن سمت سرور یعنی بعد از این که دیتابیس پردازش رو انجام داد مثلا توی ردیس ذخیره کنیم و به مدت مثلا یک ساعت هر وقت کاربر درخواستی زد که اون اطلاعات رو بگیره از کش بهش بدیم ...
اینطوری دیگه کاربر نمیتونه از قصد کش رو هم پاک کنه و فشار به دیتابیس خیلی میاد پایین.
در واقع صفحهی html رو کش نکردید بلکه اطلاعات داینامیک داخلش رو کش کردید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟