add LightCache support

This commit is contained in:
crazywhalecc
2022-12-31 15:27:09 +08:00
parent 3734f5d476
commit fd8b3721ae
7 changed files with 288 additions and 1 deletions

View File

@@ -15,6 +15,7 @@ class_alias(\ZM\Annotation\Closed::class, 'Closed');
class_alias(\ZM\Plugin\ZMPlugin::class, 'ZMPlugin');
class_alias(\OneBot\V12\Object\OneBotEvent::class, 'OneBotEvent');
class_alias(\ZM\Context\BotContext::class, 'BotContext');
class_alias(\ZM\Store\KV\LightCache::class, 'LightCache');
// 下面是 OneBot 相关类的全局别称
class_alias(\OneBot\Driver\Event\WebSocket\WebSocketOpenEvent::class, 'WebSocketOpenEvent');

View File

@@ -14,6 +14,8 @@ use ZM\Middleware\MiddlewareHandler;
use ZM\Store\Database\DBException;
use ZM\Store\Database\DBQueryBuilder;
use ZM\Store\Database\DBWrapper;
use ZM\Store\KV\KVInterface;
use ZM\Utils\ZMRequest;
// 防止重复引用引发报错
if (function_exists('zm_internal_errcode')) {
@@ -246,3 +248,12 @@ function bot(): ZM\Context\BotContext
}
return new \ZM\Context\BotContext('', '');
}
function kv(string $name = ''): KVInterface
{
global $kv_class;
if (!$kv_class) {
$kv_class = config('global.kv.use', \LightCache::class);
}
return $kv_class::open($name);
}