105 lines
3.0 KiB
PHP
105 lines
3.0 KiB
PHP
<?php
|
|
/**
|
|
* 🧹 缓存管理接口
|
|
*
|
|
* 访问方式: /api/cache_manage.php?action=xxx
|
|
*/
|
|
|
|
require '../zb_system/function/c_system_base.php';
|
|
$zbp->Load();
|
|
|
|
require_once 'cache.php';
|
|
|
|
header('Content-Type: application/json; charset=utf-8');
|
|
header('Access-Control-Allow-Origin: *');
|
|
|
|
$action = $_GET['action'] ?? 'stats';
|
|
|
|
$result = array();
|
|
|
|
switch ($action) {
|
|
case 'stats':
|
|
$result = array(
|
|
'code' => 200,
|
|
'message' => '📊 缓存统计',
|
|
'data' => ApiCache::getStats()
|
|
);
|
|
break;
|
|
|
|
case 'clean':
|
|
$count = ApiCache::cleanExpired();
|
|
$result = array(
|
|
'code' => 200,
|
|
'message' => "🧹 已清理 {$count} 个过期缓存",
|
|
'data' => array(
|
|
'cleaned' => $count,
|
|
'stats' => ApiCache::getStats()
|
|
)
|
|
);
|
|
break;
|
|
|
|
case 'clear':
|
|
$act = $_GET['act'] ?? null;
|
|
if ($act) {
|
|
$count = ApiCache::clearByAct($act);
|
|
$result = array(
|
|
'code' => 200,
|
|
'message' => "🗑️ 已清除 {$act} 相关的 {$count} 个缓存",
|
|
'data' => array(
|
|
'act' => $act,
|
|
'cleaned' => $count
|
|
)
|
|
);
|
|
} else {
|
|
ApiCache::clear();
|
|
$result = array(
|
|
'code' => 200,
|
|
'message' => '🗑️ 已清除所有缓存',
|
|
'data' => ApiCache::getStats()
|
|
);
|
|
}
|
|
break;
|
|
|
|
case 'config':
|
|
$result = array(
|
|
'code' => 200,
|
|
'message' => '⚙️ 缓存配置',
|
|
'data' => array(
|
|
'ttl_config' => array(
|
|
'list' => '180秒 (3分钟)',
|
|
'detail' => '300秒 (5分钟)',
|
|
'ingredients' => '300秒 (5分钟)',
|
|
'ingredient_detail' => '600秒 (10分钟)',
|
|
'search' => '120秒 (2分钟)',
|
|
'categories' => '600秒 (10分钟)',
|
|
'tags' => '600秒 (10分钟)',
|
|
'stats' => '60秒 (1分钟)',
|
|
'like' => '不缓存',
|
|
'recommend' => '不缓存',
|
|
'view' => '不缓存'
|
|
),
|
|
'auto_clean' => '1%概率自动清理过期缓存'
|
|
)
|
|
);
|
|
break;
|
|
|
|
default:
|
|
$result = array(
|
|
'code' => 200,
|
|
'message' => '🧹 缓存管理接口',
|
|
'data' => array(
|
|
'actions' => array(
|
|
'stats' => '查看缓存统计',
|
|
'clean' => '清理过期缓存',
|
|
'clear' => '清除所有缓存',
|
|
'clear&act=xxx' => '清除指定接口缓存',
|
|
'config' => '查看缓存配置'
|
|
)
|
|
)
|
|
);
|
|
break;
|
|
}
|
|
|
|
echo json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
|
|
exit;
|