• اطلاعیه ها

    • Saeed Fard

      برگزاری چهارمین همایش Coder Conf و کد تخفیف برای کاربران وردپرس پارسی   20/04/97

      کدرکانف هر سال در آخرین پنجشنبه مرداد با بورد‌های مختلفی برگزار می‌گردد،امسال نیز کدرکانف در همین تاریخ با حضور برنامه نویسان مطرح کشور در بورد تخصصی جاوااسکریپت برگزار خواهد شد، یک گردهمایی متفاوت با طعم Javascript. Coderconf هر سال نسبت به سال‌های گذشته با حضور برنامه‌نویسان پر رنگتر می‌شود. ما سعی کردیم هر ساله به این کنفرانس مفهوم عمیق تری ببخشیم تا از آنچه در سال‌های گذشته عرضه شده به روزتر و مفیدتر واقع شویم. امسال فرصتی خواهد بود تا با نگرشی جدید و بهبود مطالب ارائه شده، عمیقتر به این موضوع نگاه کنیم تا بجای تکرار مباحث پیشین گامی هر چند کوچک در مسیر ارتقای دانش فنی برنامه‌نویسان ایرانی برداریم. ما در Coderconf ۴ با تمرکز بر روی Javascript نیت کرده‌ایم این فرصت را در اختیار برنامه نویسان قرار دهیم تا با ظرافت و استانداردهای روز دنیا کار خود را پیش ببرند. به نظر ما امسال زمان آن فرا رسیده‌است تا این زبان را به صورت تخصصی و از ابعاد مختلف به چالش بکشیم.   دبیر علمی همایش میلاد حیدری، کدرکانف ۴ را اینگونه توصیف کرده است :اشتراک گذاری دانش بهترین راه رسیدن به جاودانگی اطلاعات است. هر ساله همایش‌های زیادی برگزار میشه که افراد شرکت‌کننده می‌توانند با افراد مجرب شبکه سازی کنند. امسال در کدرکانف سعی کردیم علاوه بر بخش شبکه سازی بین افراد بیشتر روی انتقال دانش و کیفیت ارائه ها تمرکز داشته باشیم . به قصد یک گردهمایی بلند مدت بین برنامه‌نویسان جاوااسکریپت که با هم تبادل دانش و اطلاعات کنند گردهم آییم.
      بنده به عنوان عضو کوچکی از جامعه برنامه‌نویسان جاوااسکریپت ایران امیدوارم در کدرکانف امسال علاوه بر شبکه سازی، از اطلاعاتی که دوستان در این همایش در اختیارتان قرار می‌دهند استفاده کنید. در سایت همایش میتوانید سخنرانان و موضوع پنل همایش کدرکانف رو مشاهده کنید . علاقه‌مندان به حضور در این همایش می‌توانند با کد تخفیف wpparsi اقدام به ثبت نام در این گردهمایی کنند. سایت همایش :‌http://coderconf.org
      بلیط فروشی همایش :‌https://evand.com/events/coderconf4  
x86_64

سوال در مورد کش در سطح تم

5 پست در این موضوع قرار دارد

سلام. مشغول کار روی سایتی هستم که به خاطر بازدید زیاد، فشار زیادی روی دیتابیسش هست. و بعد از امتحان پلاگین‌های مختلف کش، دیدم برای این سایت (که در تم اون ویدجت‌های زیادی گذاشتم که هر کدوم کوئری‌های سنگینی به دیتابیس تحمیل می‌کنه)، بهترین راه، استفاده از توابع Transient برای کش کردن هر یک از این ویدجت‌هاست.

حالا با توجه به تسلط نداشتن به سازوکار داخلی وردپرس، سوالی که از اساتید دارم اینه که وقتی یک کوئری با get_posts انجام میدیم و پست‌های اون رو در یک حلقه foreach پیمایش می‌کنیم، یا وقتی یک شی WP_Query میسازیم و با have_posts در یک حلقه پیمایشش می‌کنیم، این که صرفا همون خروجی get_posts یا WP_Query رو با transient کش کنیم کافیه؟ یا اینکه توابع «داخل حلقه» (یعنی get_post_meta و comments_number و get_the_post_thumbnailو get_the_title و get_permalink) هم به نوبه خودشون روی دیتابیس کوئری اجرا می‌کنن و اون‌ها هم نیاز به کش دارن؟

ممنونم

0

به اشتراک گذاری این پست


لینک به پست

سلام

آرگومان های ورودی حلقه کش بشن کافیه. چون توابعی که داخل حلقه اجرا میشن عملا به ورودی وابسته هستند.

3

به اشتراک گذاری این پست


لینک به پست

منظورتون اینه که وقتی شی WP_Query ساخته شد و کوئری رو روی دیتابیس انجام داد، تمام دیتاهای مورد نیاز توابع داخل حلقه از قبیل

get_the_post_thumbnail داخل همین شیء هست و دوباره کوئری جدیدی انجام نمیشه؟

0

به اشتراک گذاری این پست


لینک به پست

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

و کاری که می تونید برای کاهش بار انجام بدید این هست قسمت جستجوی سایت بردارید و به جاش از سرچ گوگل استفاده کنید.

یا مثلا ویجت ها رو از چرخه حذف کنید و در عوض سورسشون رو مستقیما توی قالب بزارید.

یا مثلا از کوئری های واکشی رندوم استفاده نکنید.

و از این جور کارها

2

به اشتراک گذاری این پست


لینک به پست

بله حرفتون درسته، وردپرس کوئری‌ها رو کش می‌کنه، اما به صورت per request کش میکنه. یعنی تا پایان نشست جاری شما می‌تونید با استفاده از توابع wp_cache_set و wp_cache_get استفاده کنید. اما اگه می‌خواید چیزی رو در نشستی کش کنید و در نشست‌ها بعدی ازش استفاده کنید، باید از متدهای کش persistent (یعنی ماندگار) از قبیل Transient API استفاده کنین. شاید بخواید اینجا رو بخونید.

ویرایش شده در توسط x86_64
1

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

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

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط yaali
      سلام
      کد یا فانکشنی وجود داره که هر چی فایل js و Css که کاربر از آخرین بازدیدش روی دیوایسش کش شده رو پاک کنه و مجددا لود کنه؟
       
    • توسط Ghasem Paran
      سلام
      کار اصلی سایت من با دیتابیس هست ، یعنی تقریبا هر دقیقه یه query به دیتابیس ارسال میشه.
      به جزء query هایی که مطالب جدید رو fetch میکنند ، تقریبا میشه گفت بقیه query ها فقط برای چک کردن هستند.
      خب تعداد زیاد query ها به دیتابیس ، باعث فشار به سرور میشود.
      حالا سوال من این هست که :
      1 - از کش دیتابیس استفاده کنم یا نه ؟
      2 - تاثیری داره یا مشکل برام درست میکنه ؟
      3 - همه query ها رو کش کنم یا فقط بعضی از query ها ؟
      4 - اگر میتونه مفید باشه ، شما چه اسکریپت php برای این کار پیشنهاد میدید ؟
      پیشاپیش ممنون
    • توسط Ghasem Paran
      سلام
      کسی هست بدونه چطوری میشه با این کار کرد ؟؟؟


      https://code.google.com/p/minify



      https://github.com/mrclay/minify

      هر 2 ، یکی هستند.
      قبل :

      بعد :

      ممنون.
    • توسط Ghasem Paran
      سلام
      وقتی میخوام سایت خبرگیر رو باز کنم ، از زمانی که آدرس رو وارد میکنم و enter میزنم تا زمانی که سایت میخواد لود بشه خیلی طول میکشه ...
      من این توابع رو به سایت اضافه کردم :


      <?php
      //@session_start();
      //@ob_start();
      $expire=time()+3600;
      @header('Expires: ' . gmdate('D, d M Y H:i:s', $expire) . ' GMT');
      @header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
      @header("Cache-Control: public, no-store, no-cache, must-revalidate, post-check=0, pre-check=0, maxage=".$expire.".");
      @header("Pragma: public");
      @header('Content-Type: text/html; charset=utf-8');
      @header('Server: LiteSpeed');
      @header('X-Powered-By: Khabargir.ir CMS');
      @header("Connection: keep-alive");
      @header("keep-alive: timeout=5, max=100");
      @header("Vary: User-Agent,Accept-Encoding");
      ?>

      الان سرعتم سایتم خیلی بالا رفته ، به محض enter زدن سریع باز میشه (شاید برای من اینجوریه )
      میخواستم بدونم استفاده از این توابع مشکلی نداره ؟
      درست نوشتم یا مشکل داره ؟
    • توسط سعید شعبانی
      سلام دوستان
      من از افزونه W3 Total Cache استفاده می کنم و پوشه cache مدتی هست که حجم بسیار بالا رفته و هرچی هم Empty All Caches یا Empty Modules را می زنم باز هم تغییری نمی کنه. لطفا راهنمایی کنید.

      بروزرسانی : دوستان الان یک اخطار داخل داشبورد افزونه اومد بعد auto install را زدم و حالا اون حجم زیاد به 50 مگابایت کاهش پیدا کرد ولی آیا این مقدار هم زیاد نیست؟