Dolphin - a MySQL Cache Driver for Kirby
- unzip master.zip as folder
site/plugins/kirby3-mysql-cachedriveror git submodule add https://github.com/bnomei/kirby3-mysql-cachedriver.git site/plugins/kirby3-mysql-cachedriverorcomposer require bnomei/kirby3-mysql-cachedriver
$cache = \Bnomei\MySQLCache::singleton(); // or
$cache = dolphin();
$cache->set('key', 'value', $expireInMinutes);
$value = dolphin()->get('key', $default);
dolphin()->remove('key');
dolphin()->flush();dolphin()->benchmark(1000);mysql : 0.03287492121384
file : 0.11837792396545ATTENTION: This will create and remove a lot of cache files and SQLite entries
When Kirbys global debug config is set to true the complete plugin cache will be flushed and no caches will be read. But entries will be created.
You need to set the cache driver for the lapse plugin to mysql.
site/config/config.php
<?php
return [
'bnomei.lapse.cache' => ['type' => 'mysql'],
'bnomei.boost.cache' => ['type' => 'mysql'],
//... other options
];Use Kirby Boost to setup a cache for content files.
You can set the host, dbname, username, password,... in the config.
site/config/config.php
return [
// other config settings ...
'bnomei.mysql-cachedriver.dbname' => 'YOUR-DBNAME-HERE',
'bnomei.mysql-cachedriver.username' => 'YOUR-USERNAME-HERE',
'bnomei.mysql-cachedriver.password' => 'YOUR-PASSWORD-HERE',
];You can also set a callback if you use the dotenv Plugin.
site/config/config.php
return [
// other config settings ...
'bnomei.mysql-cachedriver.dbname' => function() { return env('MYSQL_DBNAME'); },
'bnomei.mysql-cachedriver.username' => function() { return env('MYSQL_USERNAME'); },
'bnomei.mysql-cachedriver.password' => function() { return env('MYSQL_PASSWORD'); },
];| bnomei.mysql-cachedriver. | Default | Description |
|---|---|---|
| store | true |
keep accessed cache items stored in PHP memory for faster recurring access |
| store-ignore | `` | if key contains that string then ignore |
| transaction.limit | 4096 |
exec transaction after n SET operations |
| host | 127.0.0.1 |
string or callback |
| unix_socket | null |
string or callback |
| dbname | kirby3-mysql-cachedriver |
string or callback (will be created if it does not exists) |
| tablename | kirby3-mysql-cachedriver |
string or callback (will be created if it does not exists) |
| username | root |
string or callback |
| password | `` | string or callback |
| port | 3306 |
int or callback |
- PHP MySQL extension
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.
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.