bnomei / kirby3-page-memcached
Kirby 3 Plugin to cache the content file using the PHP Memcached extension
Fund package maintenance!
bnomei
Patreon
buymeacoff.ee/bnomei
paypal.me/bnomei
Installs: 164
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 1
Open Issues: 0
Type:kirby-plugin
pkg:composer/bnomei/kirby3-page-memcached
Requires
- php: >=7.2.0
- getkirby/composer-installer: ^1.1
Requires (Dev)
- getkirby/cms: ^3.2
- nunomaduro/phpinsights: ^1.8
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^8.3
README
ARCHIVED
use Kirby3 Boost instead
Kirby 3 Page Memcached
Kirby 3 Plugin to cache the content file using the PHP Memcached extension
Commercial Usage
This plugin is free (MIT license) but if you use it in a commercial project please consider to
Installation
- unzip master.zip as folder
site/plugins/kirby3-page-memcachedor git submodule add https://github.com/bnomei/kirby3-page-memcached.git site/plugins/kirby3-page-memcachedorcomposer require bnomei/kirby3-page-memcached
Usage
To use this plugin create Page-Models and extend the \Bnomei\MemcachedPage class. This will read and write a copy of your Content-File to and from Memcached.
site/models/example.php
<?php class ExamplePage extends \Bnomei\MemcachedPage { // that's it. all done. 👍 }
TIP: If you set Kirbys global debug option to
trueall cached Content-Files will be flushed.
site/templates/example.php
<?php /** @var ExamplePage $page */ $checkIfContentFileIsMemcached = $page->isMemcachedPage(); // bool
Performance, Limitations and Alternatives
How much and if you gain anything regarding performance depends on the hardware. But on most production servers reading data from RAM should be faster than reading files from SSD disks.
| Defaults for | Memcached | APCu | Redis |
|---|---|---|---|
| max memory size | 64MB | 32MB | 0 (none) |
| size of key/value pair | 1MB | 4MB | 512MB |
The Redis Cachedriver Plugin has a RedisPage class that works pretty much like the MemcachedPage class but uses Redis.
Settings
| bnomei.page-memcached. | Default | Description |
|---|---|---|
| host | 127.0.0.1 |
|
| port | 11211 |
|
| prefix | page-memcached |
|
| expire | 0 |
in minutes, 0 = infinite |
| enforce | true |
will throw an Exception if Memcached class is missing. Turn off if you use php CLI without Memcached support. |
TIP: To connect to a unix socket use its id as value for
hostand set port to0
Known Issues
PHP CLI rarely has Memcached enabled by default. In that case the plugin will read the page content file from disk.
Dependencies
- PHP Memcached extension and class
Disclaimer
This plugin is provided "as is" with no guarantee. Use it at your own risk and always test it yourself before using it in a production environment. If you find any issues, please create a new issue.
License
It is discouraged to use this plugin in any project that promotes racism, sexism, homophobia, animal abuse, violence or any other form of hate speech.