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
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-memcached
or git submodule add https://github.com/bnomei/kirby3-page-memcached.git site/plugins/kirby3-page-memcached
orcomposer 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
true
all 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
host
and 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.