Compare commits

..

6 Commits
2.8.6 ... 2.8.8

Author SHA1 Message Date
Jerry Ma
21f310852a update version to 2.8.8 2023-06-05 22:48:36 +08:00
Wang
6173cf2e37 Update LightCacheInside.php 2023-06-05 21:00:31 +08:00
Wang
4791099a78 Update global.php 2023-06-05 21:00:05 +08:00
Wang
9d1952f5f8 add bool type support for LightCache (#325) 2023-03-03 21:58:40 +08:00
Jerry
6543574695 update version to 2.8.7 2023-02-13 21:04:01 +08:00
Wang
5b1c771a2d 为键名使用强制类型转换string
使用数字作为键名时set()成功保存 但是停止框架后再启动框架数据落地恢复时报错类型不符合
Fatal error: Uncaught TypeError: Swoole\Table::set(): Argument #1 ($key) must be of type string, int given in zhamao/vendor/zhamao/framework/src/ZM/Store/LightCache.php:81
2023-02-13 21:04:01 +08:00
4 changed files with 10 additions and 4 deletions

View File

@@ -50,6 +50,8 @@ $config['runtime'] = [
],
'namespace' => [],
],
'inside_table_size' => 65536 // 内部表字符串最大长度需要2的倍数
// 正常不要低于65536如果群数量过多可能出现会size不够。若swoole日志出现WARNING TableRow::set_value(): [key=wait_api,field=value]string value is too long可以将该值往大设置。
];
/* 轻量字符串缓存,默认开启 */

View File

@@ -30,7 +30,7 @@ class ConsoleApplication extends Application
{
public const VERSION_ID = 480;
public const VERSION = '2.8.6';
public const VERSION = '2.8.8';
private static $obj;

View File

@@ -75,7 +75,7 @@ class LightCache
} else {
return false;
}
$result = self::$kv_table->set($k, [
$result = self::$kv_table->set((string)$k, [
'value' => $value,
'expire' => $v['expire'],
'data_type' => $data_type,
@@ -188,7 +188,10 @@ class LightCache
$data_type = '';
} elseif (is_int($value)) {
$data_type = 'int';
} else {
} elseif (is_bool($value)) {
$data_type = 'bool';
$value = json_encode($value);
} else {
throw new LightCacheException('E00048', 'Only can set string, array and int');
}
try {

View File

@@ -17,7 +17,8 @@ class LightCacheInside
public static function init(): bool
{
try {
self::createTable('wait_api', 3, 65536);
$size = ZMConfig::get('global', 'runtime')['inside_table_size'] ?? 65536;
self::createTable('wait_api', 3, $size);
self::createTable('connect', 3, 64); // 用于存单机器人模式下的机器人fd的
self::createTable('static_route', 64, 256); // 用于存储
self::createTable('light_array', 8, 512, 0.6);