Docket Cache – Pemecut Cache Objek

Description

Docket Cache ialah Cache Objek WordPress berterusan yang disimpan sebagai kod PHP biasa. Berhasrat untuk menyediakan pilihan alternatif buat mereka yang tidak boleh menggunakan pelayan Redis atau Memcached.

Daripada menggunakan serialize dan unserialize objek PHP untuk disimpan ke dalam fail rata, pemalam ini menyimpan data dengan menukar objek kepada kod PHP biasa yang menghasilkan perolehan data yang lebih pantas dan prestasi yang lebih baik dengan Zend OPcache didayakan.

Sila rujuk dokumentasi tentang Caching Dalam WordPress.

Mengapa perlu menggunakan plugin ini?

Apabila memperkatakan tentang penyelesaian Objek Cache yang sering digunakan dalam WordPress, Redis atau Memcached menjadi pilihan utama. Walau bagaimanapun, penyelesaian tersebut memerlukan pengetahuan berkenaan pelayan dan jarang tersedia pada pengehosan bajet atau perkongsian.

Satu-satunya penyelesaian adalah menyimpan cache objek ke dalam fail. Dengan WordPress, mengeksport objek PHP tidaklah mudah, kebanyakan plugin yang menawarkan penyelesaian berasaskan fail akan menggunakan serialize dan unserialize ketika menyimpan dan mengambil data.

Penyelesaian yang ditawarkan oleh Docket Cache lebih baik kerana ia menukar cache objek menjadi kod PHP biasa. Penyelesaian ini lebih pantas kerana WordPress dapat menggunakan cache secara langsung tanpa memerlukan operasi lain.

Ciri-Ciri

  • Caching Objek + OPcache
  • Advanced Post Caching
  • Pracache Cache Objek
  • Caching Menu WordPress
  • Caching Terjemahan WordPress
  • Pengoptimuman WordPress Core Query
  • Pengoptimuman Term Count Queries
  • Pengoptimuman Post, Halaman, Kiraan Komen
  • Pengoptimuman Jadual Pangkalan Data
  • Pengoptimuman WooCommerce
  • Penundaan WP Options Autoload
  • Ubau suai Post Jadual Terlepas
  • Cache Objek + Statistik OPcache + Pemapar OPcache
  • Log Cache
  • Servis Cronbot
  • Sokongan WP-CLI
  • Sokongan Multisite / Multi-Network

Keperluan

Untuk menggunakan Docket Cache memerlukan minimum:

  • PHP 7.2.5
  • WordPress 5.4
  • Zend OPcache

Dokumentasi

Untuk melaraskan pemalam, pemasangan atau urus melalui baris arahan, sila rujuk Dokumentasi untuk lebih lanjut.

Pembangunan

Taja project ini

Taja Docket Cache dengan penajaan sekali sahaja atau berulang untuk menyokong usaha pembangunan sumber terbuka kami.

Semua dana akan dikhususkan untuk penyelenggaraan, pembangunan dan pemasaran projek ini.

Penaja Kehormat:

Sekalung penghargaan dan ucapan terima kasih.

Penaja lain dinyatakan dalam senarai yang dihormati

Alat Tambahan

Docket CronWP – Alat baris arahan untuk melaksanakan acara cron WordPress secara selari.

Screenshots

  • Overview.
  • Log Cache.
  • Paparan Cache.
  • Cache content.
  • Cronbot.
  • Konfigurasi.
  • Multisite / Multi-Network Overview.
  • Multisite / Multi-Network Cronbot.

Installation

Untuk menggunakan Docket Cache memerlukan minimum PHP 7.2.5, WordPress 5.4 dan Zend OPcache untuk prestasi terbaik

  1. Dalam pentadbir WordPress anda klik Pemalam -> Tambah Baharu
  2. Lakukan carian plugin “Docket Cache” dan klik Pasang Sekarang.
  3. Klik Aktifkan atau Aktifkan Rangkaian dalam persediaan Berbilang tapak.
  4. Klik Docket Cache pada menu kiri untuk mengakses halaman pentadbir.

Sila tunggu sekitar 5 saat untuk Docket Cache bersedia untuk cache objek.

FAQ

Apa itu Caching Objek dalam WordPress?

Caching objek ialah proses yang menyimpan hasil pertanyaan pangkalan data bertujuan mengembalikannya dengan cepat apabila diperlukan pada masa akan datang.

Objek cache akan disampaikan dengan segera daripada cache dan bukannya menghantar berbilang permintaan kepada pangkalan data. Ini lebih cekap dan mengurangkan beban besar yang tidak diperlukan pada pelayan anda.

Secara ringkas, caching objek membolehkan objek yang sering digunakan untuk disalin dan disimpan di lokasi yang lebih dekat untuk kegunaan yang lebih pantas.

Apa itu Docket Cache dalam Object Caching?

Secara lalai, cache objek dalam WordPress adalah tidak berterusan. Ini bermakna data yang disimpan dalam cache berada dalam memori sahaja dan hanya dalam tempoh satu-satu permintaan. Data yang dicache tidak akan disimpan secara berterusan ketika pemuatan disetiap halaman. Untuk menjadikannya berterusan, cache objek mesti disimpan dalam cakera setempat.

Docket Cache bukan sahaja menyimpan cache objek, ia menukar cache objek kepada kod PHP biasa. Penyelesaian ini lebih pantas kerana WordPress boleh menggunakan cache secara langsung tanpa menjalankan operasi lain.

Apa itu OPcache dalam Docket Cache?

OPcache is a caching engine built into PHP, that improves performance by storing precompiled script bytecode in shared memory, thereby removing the need for PHP to load and parse scripts on each request.

Docket Cache converts the object cache into plain PHP code. When reading and writing cache, it will use OPcache directly which results in faster data retrieval and better performance.

Apa itu Servis Cronbot dalam Docket Cache?

Cronbot ialah perkhidmatan luaran yang melakukan ping ke tapak web anda setiap jam untuk memastikan WordPress Cron berjalan secara aktif.

Perkhidmatan ini ditawarkan sebagai pilihan alternatif dan tidak wajib digunakan. Secara lalai, perkhidmatan ini tidak disambungkan ke endpoint pelayan. Anda boleh melumpuhkannya sepenuhnya di halaman konfigurasi.

Apa itu Pengumpul Sampah dalam Docket Cache?

Pengumpul Sampah ialah Acara Cron yang dijalankan setiap 5 minit untuk memantau fail cache bertujuan untuk pembersihan dan pengumpulan statistik.

Apa itu cakera RAM dalam Docket Cache?

Cakera RAM ialah representasi cakera keras menggunakan sumber RAM, dan ia boleh berbentuk peranti perkakasan atau cakera maya.

Kelajuan baca dan tulis pada RAM adalah lebih pantas daripada pemacu SSD oleh itu menyimpan fail Docket Cache pada cakera RAM boleh meningkatkan prestasinya.

Sila ambil perhatian bahawa mencipta cakera RAM memerlukan kebenaran pentadbiran pelayan (akses root) oleh itu penyelesaian ini tidak sesuai untuk pelayan pengehosan kongsi.

Ini adalah contoh arahan untuk mencipta dan menggunakan cakera RAM dengan Docket Cache:

$ cd wp-content/
$ sudo mount -t tmpfs -o size=500m tmpfs ./cache/docket-cache

Untuk melekapkan lokasi cache secara automatik semasa boot, anda perlu mengemas kini fail /etc/fstab anda.

Sila rujuk artikel di bawah tentang cakera RAM:

  1. How to Easily Create RAM Disk
  2. What Is /dev/shm And Its Practical Usage
  3. Creating A Filesystem In RAM

Untuk menggunakannya dalam OS Windows, cipta Cakera RAM dan tukar DOCKET_CACHE_PATH ke pemacu Cakera RAM.

Apakah RAM minimum yang diperlukan untuk digunakan dengan pengehosan kongsi?

Secara lalai, WordPress memperuntukkan had memori hanya 256 MB. Digabungkan dengan MySQL dan Pelayan Web, anda memerlukan lebih daripada 256 MB. Jika anda menggunakan pelan pengehosan bajet yang memperuntukkan hanya 256 MB untuk kesemua penggunaan. Ia tidak mencukupi dan Docket Cache tidak dapat meningkatkan prestasi laman web anda.

Apakah perbezaan dengan pemalam cache objek yang lain?

Docket Cache ialah Pemecut Cache Objek. Ia melakukan beberapa pengoptimuman caching seperti pertanyaan catatan cache, pengiraan komen, terjemahan WordPress dan banyak lagi sebelum menyimpan cache objek.

Bolehkah saya memasangkan menggunakannya dengan pemalam cache lain?

Ya dan Tidak. Anda boleh menggunakannya dengan pemalam caching halaman, tetapi tidak dengan pemalam cache objek.

Saya menggunakan pelayan VPS. Bolehkah saya menggunakan Docket Cache untuk menggantikan Redis?

Ya, anda boleh. Ia boleh meningkatkan lagi prestasi WordPress anda kerana tiada sambungan rangkaian perlu dibuat dan tidak perlu risau tentang memori terlebih guna, konflik kunci cache dan ralat-terdedah yang disebabkan oleh tetapan yang tidak sah.

Reviews

2 Ogos 2022
There are good things that are not at the top of the famous list. This plugin is an example: it is the best caching plugin I have ever installed. I have 6 websites and I will be using it on all of them. You just need to enable OPCache on your server. If using WHM this is easier than cutting a piece of cake. On my website I score 100 on pagespeed desktop and 97 points on pagespeed for mobile. Fantastic!
21 Julai 2022
I tried many memcached plugins. It's so simple and best. great!
28 Jun 2022
This plugin speeded up my website, especially the backend. I'm using it in a Multisite on Plesk with PHP 8 and in combination with Breeze. Thanks a lot!
9 Mei 2022
Plugin does the job, don't have a lot of different between him to Redis. Save a lot of time and money. 🙂 The developer @nawawijamili very nice person as well, and help a lot to people here, if someone need support even provide extra versions. Not easy to work with object-cache.php i can tell you that. The plugin do the job. 5 starts
Read all 27 reviews

Contributors & Developers

“Docket Cache – Pemecut Cache Objek” adalah perisian sumber terbuka. Orang-orang berikut telah menyumbang kepada pemalam ini.

Penyumbang

“Docket Cache – Pemecut Cache Objek” telah diterjemahkan ke dalam 2 penempatan. Terima kasih kepada para penterjemah untuk terjemahan mereka.

Translate “Docket Cache – Pemecut Cache Objek” into your language.

Berminat dalam pembangunan?

Layari kod, periksa repositori SVN, atau langgani log pembangunan dengan RSS.

Changelog

22.07.01 (2022-07-15)

  • Fixed: Plugin:cleanuppost() -> Invalid index for trashbin.
  • Fixed: MoCache() -> Add $entries, $headers properties to avoid warning on get_translations_for_domain.
  • Updated: Symfony component -> symfony/var-exporter.

21.08.11

  • Fixed: Avoid calling Filesystem::close_buffer() if a process involved accessing a disk.
  • Fixed: Removed handling stale cache on shutdown.
  • Added: Garbage Collector Status -> Cleanup Stale Cache.
  • Improved: Collected stale cache will be handled by Garbage Collector.

21.08.10

  • Changed: Disable “Chunk Cache Directory” by default. Let’s users choose it depending on their hosting environment.

21.08.09

  • Fixed: WP_Object_Cache::maybe_expire() -> missing preg_match parameter.

Thanks to @carmpocalypse for bug report.

21.08.08

  • Fixed: Don’t remove cron event without a hook, let’s WordPress handles it.
  • Fixed: WP_Object_Cache::dc_close() -> Only run one time per instance.
  • Fixed: WP_Object_Cache::maybe_expire() -> Check cache key.
  • Added: CACHEHTTPRESPONSE, CACHEHTTPRESPONS_TTL, CACHEHTTPRESPONS_INCLUDE, CACHEHTTPRESPONS_EXCLUDE constants.
  • Changed: Disable “Auto Remove Stale Cache” by default. Let’s users choose it depending on their cpu/storage speeds limit.

21.08.07

  • Fixed: Tweaks::wpembed() -> body_class missing seconds arguments that require by some themes.
  • Fixed: Tweaks::wpembed() -> Disable body_class filter, cause unpredictable syntax error on some themes.

Thanks to @simonhawketts for bug report.

21.08.06

  • Fixed: WP_Object_Cache::dc_close() -> Remove stale cache abandoned by WordPress, WooCommerce, Advanced Post Cache after doing cache invalidation.
  • Fixed: WP_Object_Cache::dc_get() -> The transient should return false if does not have a value or has expired.
  • Fixed: WP_Object_Cache::dc_get() -> Run maybe_unserialize to check and unserialize string data when failed to convert into an array.
  • Fixed: WP_Object_Cache::dc_save() -> Reduce cache miss if contain objects of headers remote requests.
  • Fixed: WP_Object_Cache::dc_save() -> Return true and avoid storing on disk if the transient has no value.
  • Fixed: WP_Object_Cache() -> dc_precache_load(), dc_precache_set() -> Do check precache max list.
  • Fixed: Tweaks() -> wpbrowsehappy(),wpservehappy() -> Use the pre_site_transient filter instead of blocking API requests, makes the query monitor happy.
  • Fixed: RecursiveDirectoryIterator -> Do check max_execution_time to avoid a fatal timeout.
  • Fixed: WP_Object_Cache() -> dc_precache_load(), dc_precache_set() -> Do check max_execution_time to avoid a fatal timeout.
  • Fixed: Event() -> optimizedb(), garbage_collector() -> Do check max_execution_time to avoid a fatal timeout.
  • Fixed: CronAgent::run_wpcron() -> Do check max_execution_time to avoid a fatal timeout.
  • Fixed: Tweaks::wpembed() -> Invalid body_class hook arguments.
  • Fixed: Plugin::get_opcache_status() -> OPcache File Cache Only -> Use getATime instead of getMTime to match with in-memory last_used_timestamp.
  • Fixed: Overview -> Object Cache -> Data is not updated when opcache is not available.
  • Fixed: Overview -> Flush Object Cache -> Immediately remove the cache file instead of truncate.
  • Added: WP-CLI command -> flush:transient, flush:advcpost, flush:menucache.
  • Added: wp_cache_flush_runtime(), wp_cache_*_multiple() functions.
  • Added: wp_cache_flush_group_match() -> Remove cache file match with the group name in files.
  • Added: WP_Object_Cache::dc_stalecache_filter() -> Capture cache key pattern match with the stale cache.
  • Added: WP_Object_Cache::add_stalecache() -> Set a list of stale cache to remove when Object Cache shutdown.
  • Added: Configuration -> Admin Interface -> Additional Flush Cache Action Button.
  • Added: Configuration -> Cache Options -> Post Caching Any Post Type.
  • Added: Configuration -> Storage Options -> Chunk Cache Directory, Auto Remove Stale Cache, Cache Files Limit, Cache Disk Limit.
  • Added: Opcache Viewer -> Possible to display a notice if the current site path has been blacklisted in opcache.blacklist_filename directive.
  • Added: DOCKET_CACHE_CHUNKCACHEDIR constant to enable chunk cache files into a smaller directory to avoid an excessive number of cache files in a single directory.
  • Added: DOCKET_CACHE_ADVCPOST_POSTTYPE constant to allow cache other post types.
  • Added: DOCKET_CACHE_ADVCPOST_POSTTYPE_ALL constant to allow cache any post types.
  • Added: DOCKET_CACHE_FLUSH_STALECACHE constant to enable auto remove stale cache.
  • Added: DOCKET_CACHE_PRECACHE_MAXLIST constant to limit cache entries per URL.
  • Added: DOCKET_CACHE_IGNORE_REQUEST constant to bypass object cache match key from POST, GET variables.

Thanks to Jordan from @websavers for improvement feedback.

21.08.05

  • Fixed: object-cache.php -> Checking is file object-cache-delay.txt.
  • Fixed: OPcacheView::get_usage() -> checking if opcache_statistics, memory_usage exists.
  • Fixed: Compability with OPcache File Cache Only (opcache.file_cache_only=1).
  • Added: Woo Tweaks -> Deactivate WooCommerce WP Dashboard -> Disable setup widget.
  • Added: Woo Tweaks -> Misc WooCommerce Tweaks -> Enable WooCommerce no-cache headers.
  • Added: Woo Tweaks -> Misc WooCommerce Tweaks -> Remove the WooCommerce usage tracker cron event.
  • Added: WP Tweaks -> Deactivate Browse Happy Checking.
  • Added: WP Tweaks -> Deactivate Serve Happy Checking.
  • Added: Filesystem::opcache_filecache_only() -> Determine OPcache in File Cache Only.
  • Added: Filesystem::opcache_filecache_scanfiles() -> Listing OPcache file cache.
  • Added: Filesystem::opcache_filecache_flush() -> Remove OPcache single file cache.
  • Added: Filesystem::opcache_filecache_reset() -> Empty OPcache file cache directory.
  • Updated: Symfony component -> symfony/polyfill-php80, symfony/var-exporter.
  • Updated: Advanced Post Caching tooltip description.
  • Updated: WP_Object_Cache::dc_precache() -> Ignore precache for /wp-admin/admin-ajax.php, /wp-cron.php, /xmlrpc.php, /robots.txt, /favicon.ico.
  • Updated: OPcache viewer -> layout for OPcache File Cache Only.

Thanks to @123nadav and @jibsoux for improvement feedback.

21.08.04

  • Added: WordPress Menu Caching.
  • Added: DOCKET_CACHE_MENUCACHE constant.
  • Added: DOCKET_CACHE_MENUCACHE_TTL constant.

Thanks to @alriksson.

21.08.03

  • Fixed: Filesystem::is_opcache_enable() -> do checking PHP INI disable_functions directive.
  • Fixed: Overview -> if OPcache enable and opcache_get_status function disabled, only show “Enabled”.
  • Fixed: Flush OPcache -> show notice if opcache_reset function disabled.
  • Fixed: OPcache Viewer -> show notice if opcache_get_status, opcache_get_configuration function disabled.
  • Fixed: docketcache_runtime() -> only valid for PHP >= 7.2.5.

Thanks to @robderijk.

21.08.02

  • Fixed: opcacheviewer -> some filter parameters do not escape.

Thanks to Erwan from WPScan.

21.08.01

  • Changed: plugin options -> check critical version, disabled by default.
  • Changed: Mark 21.08.1 as a stable release.

21.02.08

  • Fixed: Tweaks::http_headers_expect() -> only visible to wp < 5.8 since already included in core.
  • Fixed: Filesystem::is_request_from_theme_editor() -> checking if from plugin-editor.
  • Fixed: nwdcx_unserialize() -> checking if ABSPATH and WPINC defined.
  • Tested up to 5.8.

21.02.07

  • Fixed: missing Becache.php in wp repo.

21.02.06

  • Fixed: Plugin::site_url_scheme() -> strip whitespace.
  • Fixed: Tweaks::post_missed_schedule() -> remove sort by date.
  • Fixed: Tweaks::register_tweaks() -> run register_tweaks at shutdown, lock for 3 minutes.
  • Fixed: ReqAction::exit_failed() -> missing args.
  • Fixed: ReqAction::parse_action() -> replace $_GET, $_POST conditional with $_REQUEST.
  • Fixed: Canopt::put_config() -> check file exists before unlink.
  • Fixed: WP_Object_Cache::maybe_expire() -> exclude transient key health-check-site-status-result.
  • Fixed: CronAgent::run_wpcron() -> capture hook output if any.
  • Removed: Plugin::suspend_wp_options_autoload() -> already replace with Filesystem::optimize_alloptions().
  • Added: Filesystem::keys_alloptions() -> list of core alloptions key.
  • Added: Action Hook -> ‘docketcache/action/flushcache/object’ to flush cache files.
  • Added: Becache::export() -> early cache for transient and alloptions.
  • Improved: Configuration -> change wording at Option label.
  • Improved: CronAgent::send_action() -> disconnect if object cache disabled.

21.02.05

  • Fixed: Normalize a filesystem path on Windows.
  • Fixed: Plugin::cleanuppost() -> Invalid counting for trash.
  • Fixed: Tweaks::woocommerce_crawling_addtochart_links() -> Checking user-agent to avoid redundancy in robots.txt.
  • Fixed: OPcache -> OPcache Config. Proper link directives name to php documentation.
  • Added: Configuration -> Actions -> Runtime code. install/uninstall runtime code.
  • Added: Configuration -> Runtime Options. Possible to handles wp debug and auto update core.
  • Added: OPcache -> OPcache Files -> Items limit selection. Limit items to display.
  • Improved: runtime code and how to handle wp constants.
  • Removed: Our sequence order to the first index in the plugin list.

Thanks to @kotyarashop for reporting an issue with robots.txt.

21.02.04

  • Fixed: View::code_focus() -> remove {behavior: “smooth”} to correct scroll position in firefox.
  • Fixed: OPcacheView::get_files() -> normalize files path.
  • Fixed: Filesystem::opcache_reset() -> remove additional invalidate files, issue with memory burst when run admin preloading.
  • Fixed: ReqAction::run_action() -> prevent run opcache_reset after flush object cache.
  • Fixed: Tweaks::limit_http_request() -> allows admin-ajax.php and .local hostname.
  • Added: Tweaks::woocommerce_crawling_addtochart_links() -> simple tweaks to prevent robots from crawling add-to-cart links.
  • Added: LIMITHTTPREQUEST_WHITELIST constant -> list of hostname to exclude from checking.
  • Added: Tweaks::wpdashboardnews() -> remove Events & News Feed in WP dashboard.
  • Added: Cronbot -> Run Now for single event.

21.02.03

  • Fixed: WpConfig::has() -> missing argument for nwdcx_throwable.

Thanks to Stanislav Khromov for testing with php 8. https://github.com/nawawi/docket-cache/issues/10

21.02.02

  • Fixed: Plugin::is_subpage() -> opcach viewer left menu link.
  • Fixed: Filesystem::fastcgi_close() -> Theme editor failed to verify updated file.
  • Added: Tweaks::http_headers_expect() -> HTTP Request Expect header tweaks.

Thanks to Oleg for reporting an issue with Theme Editor https://docketcache.com/feedback/#comment-2

21.02.01

  • Fixed: Filesystem::chmod() -> invalid mode for file.
  • Fixed: Filesystem::define_cache_path() -> avoid checking if the cache path exists and create the content path if define.
  • Fixed: Overview -> Cache Path not same with DOCKET_CACHE_PATH, due to error at define_cache_path().
  • Added: Filesystem::mkdir_p() -> fix directory permissions issues, when web server and php has different user/group.
  • Added: Filesystem::touch() -> fix notice “Utime failed: Operation not permitted” when web server and php has different user/group.
  • Added: Filesysten::getchmod() -> gets file/dir permissions in octal format.
  • Added: sites selection for cleanup post on multisite.
  • Added: OPcache viewer.
  • Updated tested up to 5.7
  • Improved action notice at the configuration page.

Thanks to @patrickwgs for reporting an issue on bedrock installation.

Kindly refer to changelog.txt for previous changes.

Sila buangkan secara manual wp-content/object-cache.php dan wp-content/cache/docket-cache jika berlaku ralat semasa proses kemas kini. Terima kasih.