LAR_Maintenance/app/Http/Controllers/System/CacheController.php

51 lines
1.4 KiB
PHP
Raw Normal View History

2024-07-30 16:13:21 +00:00
<?php
namespace App\Http\Controllers\System;
use App\Http\Controllers\BaseController;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\File;
class CacheController extends BaseController
{
public function index()
{
// Cache::put('test', 'test');
// Cache::remember('users', 200, function () {
// return DB::table('users')->get();
// });
$cache_driver = config('cache.default');
$cache_items = [];
$storage = Cache::getStore(); // will return instance of FileStore
if ($cache_driver == 'redis') {
$redisConnection = $storage->connection();
foreach ($redisConnection->command('keys', ['*']) as $full_key) {
$cache_items[] = str_replace($storage->getPrefix(), "", $full_key);
}
} elseif ($cache_driver == 'file') {
$cachePath = $storage->getDirectory();
$items = File::allFiles($cachePath);
foreach ($items as $file2) {
$cache_items[] = $file2->getFilename();
}
}
//TODO: ADD SUPPORT FOR MEM CASH AND DB
return view('system.cache.index', [
'cache_items' => $cache_items,
'cache_driver' => $cache_driver,
]);
}
public function clear()
{
Cache::flush();
return redirect()->route('system.cache.index')->with('success', __('boilerplate::ui.cache-cleared'));
}
}