| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- <?php
- namespace www\controllers;
- use Yii;
- use common\components\util;
- use common\components\configDict;
- class CleanCacheController extends PlatformController{
- public function actionIndex(){
- $cacheKeys = configDict::$cacheKey;
- $i = 1;
- foreach ($cacheKeys as $keyName => $redisKey){
- $newCacheKeys[] = ['id'=>$i, 'keyName'=>$keyName];
- $i++;
- }
- return $this->render('index', ['cacheKeys'=>$newCacheKeys]);
- }
- /**
- * 删除模糊匹配的所有键
- */
- public function actionAllClean(){
- $keyName = Yii::$app->request->get('keyName');
- $cacheKeys = configDict::$cacheKey;
- if(!key_exists($keyName, $cacheKeys)){
- util::fail($keyName.'缓存键不存在');
- }
- $redisKey = $cacheKeys[$keyName].'*';//模糊匹配所有的键
- $allKeys = Yii::$app->redis->keys($redisKey);
- foreach ($allKeys as $key){
- Yii::$app->redis->executeCommand('DEL', [$key]);
- }
- util::success($keyName.'匹配的缓存键清除完成');
- }
- public function actionKeysList(){
- $keyName = Yii::$app->request->get('keyName');
- $cacheKeys = configDict::$cacheKey;
- if(!key_exists($keyName, $cacheKeys)){
- util::fail($keyName.'缓存键不存在');
- }
- $redisKey = $cacheKeys[$keyName].'*';//模糊匹配所有的键
- $allKeys = Yii::$app->redis->keys($redisKey);
- return $this->render('keys-list', ['allKeys'=>$allKeys]);
- }
- /**
- * 指定删除单个键
- */
- public function actionSingleClean(){
- $key = Yii::$app->request->get('key');
- $exist = Yii::$app->redis->executeCommand('EXISTS', [$key]);
- if($exist){
- Yii::$app->redis->executeCommand('DEL', [$key]);
- util::success($key.'缓存键清除成功');
- }
- util::fail($key.'缓存键不存在', 'error');
- }
- }
|