31
31
</tr >
32
32
<tr >
33
33
<td ><div class =" cell" >AOF是否开启</div ></td >
34
- <td ><div class =" cell" v-if =" cache.info" >{{ cache.info.aof_enabled == "0" ? "否" : "是" }}</div ></td >
34
+ <td ><div class =" cell" v-if =" cache.info" >{{ cache.info.aof_enabled === "0" ? "否" : "是" }}</div ></td >
35
35
<td ><div class =" cell" >RDB是否成功</div ></td >
36
36
<td ><div class =" cell" v-if =" cache.info" >{{ cache.info.rdb_last_bgsave_status }}</div ></td >
37
37
<td ><div class =" cell" >Key数量</div ></td >
66
66
</el-col >
67
67
</el-row >
68
68
69
- <el-table
70
- v-loading =" keyListLoad"
71
- :data =" keyList"
72
- row-key =" id"
73
- @row-click =" openCacheInfo"
74
- >
69
+ <el-table v-loading =" keyDefineListLoad" :data =" keyDefineList" row-key =" id" @row-click =" openKeyTemplate" >
75
70
<el-table-column prop =" keyTemplate" label =" Key 模板" width =" 200" />
76
71
<el-table-column prop =" keyType" label =" Key 类型" width =" 100" />
77
72
<el-table-column prop =" valueType" label =" Value 类型" />
90
85
</el-table >
91
86
92
87
<!-- 缓存模块信息框 -->
93
- <el-dialog
94
- :title =" keyTemplate + '模块'"
95
- :visible.sync =" open"
96
- width =" 60vw"
97
- append-to-body
98
- >
88
+ <el-dialog :title =" keyTemplate + ' 模板'" :visible.sync =" open" width =" 70vw" append-to-body >
99
89
<el-row :gutter =" 10" >
100
- <el-col :span =" 10 " class =" card-box" >
101
- <el-card style =" height : 70vh " >
90
+ <el-col :span =" 14 " class =" card-box" >
91
+ <el-card style =" height : 70vh ; overflow : scroll " >
102
92
<div slot =" header" >
103
93
<span >键名列表</span >
104
- <el-button
105
- style =" float : right ; padding : 3px 0 "
106
- type =" text"
107
- icon =" el-icon-refresh-right"
108
- @click =" refreshCacheKeys"
109
- ></el-button >
94
+ <el-button style =" float : right ; padding : 3px 0 " type =" text" icon =" el-icon-refresh-right" @click =" refreshKeys" />
110
95
</div >
111
- <el-table
112
- :data =" cachekeys"
113
- style =" width : 100% "
114
- @row-click =" handleCacheValue"
115
- >
116
- <el-table-column
117
- label =" 序号"
118
- width =" 60"
119
- type =" index"
120
- ></el-table-column >
121
- <el-table-column
122
- label =" 缓存键名"
123
- align =" center"
124
- :show-overflow-tooltip =" true"
125
- :formatter =" keyFormatter"
126
- >
96
+ <el-table :data =" cacheKeys" style =" width : 100% " @row-click =" handleKeyValue" >
97
+ <el-table-column label =" 缓存键名" align =" center" :show-overflow-tooltip =" true" >
98
+ <template slot-scope="scope">{{ scope.row }}</template >
127
99
</el-table-column >
128
- <el-table-column
129
- label =" 操作"
130
- width =" 60"
131
- align =" center"
132
- class-name =" small-padding fixed-width"
133
- >
100
+ <el-table-column label =" 操作" width =" 60" align =" center" class-name =" small-padding fixed-width" >
134
101
<template slot-scope="scope">
135
- <el-button
136
- size =" mini"
137
- type =" text"
138
- icon =" el-icon-delete"
139
- @click =" handleClearCacheKey(scope.row)"
140
- ></el-button >
102
+ <el-button size =" mini" type =" text" icon =" el-icon-delete" @click =" handleDeleteKey(scope.row)" />
141
103
</template >
142
104
</el-table-column >
143
105
</el-table >
144
106
</el-card >
145
107
</el-col >
146
108
147
- <el-col :span =" 14 " >
109
+ <el-col :span =" 10 " >
148
110
<el-card :bordered =" false" style =" height : 70vh " >
149
111
<div slot =" header" >
150
112
<span >缓存内容</span >
151
- <!-- <el-button
152
- style="float: right; padding: 3px 0"
153
- type="text"
154
- icon="el-icon-refresh-right"
155
- @click="handleClearCacheAll()"
156
- >清理全部</el-button>
157
- -->
113
+ <el-button style =" float : right ; padding : 3px 0 " type =" text" icon =" el-icon-refresh-right"
114
+ @click =" handleDeleteKeys(keyTemplate)" >清理全部</el-button >
158
115
</div >
159
116
<el-form :model =" cacheForm" >
160
117
<el-row :gutter =" 32" >
161
- <el-col :offset =" 1" :span =" 22" >
162
- <el-form-item label =" 缓存名称:" prop =" keyTemplate" >
163
- <el-input v-model =" cacheForm.keyTemplate" :readOnly =" true" />
164
- </el-form-item >
165
- </el-col >
166
118
<el-col :offset =" 1" :span =" 22" >
167
119
<el-form-item label =" 缓存键名:" prop =" key" >
168
120
<el-input v-model =" cacheForm.key" :readOnly =" true" />
169
121
</el-form-item >
170
122
</el-col >
171
123
<el-col :offset =" 1" :span =" 22" >
172
124
<el-form-item label =" 缓存内容:" prop =" value" >
173
- <el-input
174
- v-model =" cacheForm.value"
175
- type =" textarea"
176
- :rows =" 12"
177
- :readOnly =" true"
178
- />
125
+ <el-input v-model =" cacheForm.value" type =" textarea" :rows =" 12" :readOnly =" true" />
179
126
</el-form-item >
180
127
</el-col >
181
128
</el-row >
188
135
</template >
189
136
190
137
<script >
191
- import { getCache , getKeyList , getKeyDefines , getKeyValue , deleteKeyValue } from " @/api/infra/redis" ;
138
+ import {getCache , getKeyDefineList , getKeyList , getKeyValue , deleteKey , deleteKeys } from " @/api/infra/redis" ;
192
139
import echarts from " echarts" ;
193
140
194
141
export default {
@@ -202,12 +149,12 @@ export default {
202
149
// cache 信息
203
150
cache: [],
204
151
// key 列表
205
- keyListLoad : true ,
206
- keyList : [],
152
+ keyDefineListLoad : true ,
153
+ keyDefineList : [],
207
154
// 模块弹出框
208
155
open: false ,
209
156
keyTemplate: " " ,
210
- cachekeys : [],
157
+ cacheKeys : [],
211
158
cacheForm: {}
212
159
};
213
160
},
@@ -275,9 +222,9 @@ export default {
275
222
});
276
223
277
224
// 查询 Redis Key 列表
278
- getKeyList ().then (response => {
279
- this .keyList = response .data ;
280
- this .keyListLoad = false ;
225
+ getKeyDefineList ().then (response => {
226
+ this .keyDefineList = response .data ;
227
+ this .keyDefineListLoad = false ;
281
228
});
282
229
},
283
230
@@ -287,46 +234,45 @@ export default {
287
234
},
288
235
289
236
// 打开缓存弹窗
290
- openCacheInfo ( e ) {
237
+ openKeyTemplate ( keyDefine ) {
291
238
this .open = true ;
292
- let keyDefine = e .keyTemplate .substring (0 , e .keyTemplate .length - 2 );
293
- this .keyTemplate = keyDefine;
294
239
// 加载键名列表
295
- this .handleCacheKeys (keyDefine);
296
- },
297
-
298
- /** 键名前缀去除 */
299
- keyFormatter (cacheKey ) {
300
- return cacheKey .replace (this .keyTemplate , " " );
240
+ this .keyTemplate = keyDefine .keyTemplate ;
241
+ this .doGetKeyList (this .keyTemplate );
301
242
},
302
243
303
244
// 获取键名列表
304
- handleCacheKeys (keyDefine ){
305
- const cacheName = keyDefine !== undefined ? keyDefine : this .keyTemplate ;
306
- getKeyDefines (cacheName).then (response => {
307
- this .cachekeys = response .data
245
+ doGetKeyList (keyTemplate ) {
246
+ getKeyList (keyTemplate).then (response => {
247
+ this .cacheKeys = response .data
308
248
this .cacheForm = {}
309
249
})
310
250
},
311
251
312
252
// 获取缓存值
313
- handleCacheValue ( e ) {
314
- getKeyValue (this . keyTemplate , e ).then (response => {
253
+ handleKeyValue ( key ) {
254
+ getKeyValue (key ).then (response => {
315
255
this .cacheForm = response .data
316
256
})
317
257
},
318
258
319
259
// 刷新键名列表
320
- refreshCacheKeys () {
260
+ refreshKeys () {
321
261
this .$modal .msgSuccess (" 刷新键名列表成功" );
322
- this .handleCacheKeys ( );
262
+ this .doGetKeyList ( this . keyTemplate );
323
263
},
324
264
325
265
// 删除缓存
326
- handleClearCacheKey (key ){
327
- deleteKeyValue (key).then (response => {
266
+ handleDeleteKey (key ){
267
+ deleteKey (key).then (response => {
328
268
this .$modal .msgSuccess (" 清理缓存键名[" + key + " ]成功" );
329
- this .handleCacheKeys ();
269
+ this .doGetKeyList (this .keyTemplate );
270
+ })
271
+ },
272
+ handleDeleteKeys (keyTemplate ){
273
+ deleteKeys (keyTemplate).then (response => {
274
+ this .$modal .msgSuccess (" 清空[" + keyTemplate + " ]成功" );
275
+ this .doGetKeyList (this .keyTemplate );
330
276
})
331
277
},
332
278
},
0 commit comments