diff --git a/ruoyi-admin/src/main/resources/static/9219.c64339d7.async.js b/ruoyi-admin/src/main/resources/static/9219.c64339d7.async.js
new file mode 100644
index 0000000..caf3a9b
--- /dev/null
+++ b/ruoyi-admin/src/main/resources/static/9219.c64339d7.async.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkant_design_pro=self.webpackChunkant_design_pro||[]).push([[9219],{79219:function(C,l,a){a.r(l),a.d(l,{default:function(){return G}});var I=a(5574),s=a.n(I),c=a(67294),v=a(71230),r=a(15746),u=a(4393),S=a(96154),Z=a(63430),j=a(35099),i=a(57089),E=a(15009),g=a.n(E),D=a(99289),T=a.n(D),A=a(76772);function B(){return m.apply(this,arguments)}function m(){return m=T()(g()().mark(function f(){return g()().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",(0,A.request)("/api/monitor/cache",{method:"GET"}));case 1:case"end":return n.stop()}},f)})),m.apply(this,arguments)}var e=a(85893),N=[{title:"col1",dataIndex:"col1",key:"col1"},{title:"col2",dataIndex:"col2",key:"col2"},{title:"col3",dataIndex:"col3",key:"col3"},{title:"col4",dataIndex:"col4",key:"col4"},{title:"col5",dataIndex:"col5",key:"col5"},{title:"col6",dataIndex:"col6",key:"col6"},{title:"col7",dataIndex:"col7",key:"col7"},{title:"col8",dataIndex:"col8",key:"col8"}],R=function(d){switch(d){case"10":return"100%";case"8":return"80%";case"6":return"60%";case"4":return"40%";case"2":return"20%";case"0":return"0%";default:return""}},U=function(){var d=(0,c.useState)([]),n=s()(d,2),M=n[0],K=n[1],L=(0,c.useState)(0),x=s()(L,2),h=x[0],Q=x[1],k=(0,c.useState)([]),y=s()(k,2),z=y[0],H=y[1],O=(0,c.useState)([]),F=s()(O,2),P=F[0],$=F[1];return(0,c.useEffect)(function(){B().then(function(t){if(t.code===200){var o=[];o.push({col1:"Redis\u7248\u672C",col2:t.data.info.redis_version,col3:"\u8FD0\u884C\u6A21\u5F0F",col4:t.data.info.redis_mode==="standalone"?"\u5355\u673A":"\u96C6\u7FA4",col5:"\u7AEF\u53E3",col6:t.data.info.tcp_port,col7:"\u5BA2\u6237\u7AEF\u6570",col8:t.data.info.connected_clients}),o.push({col1:"\u8FD0\u884C\u65F6\u95F4(\u5929)",col2:t.data.info.uptime_in_days,col3:"\u4F7F\u7528\u5185\u5B58",col4:t.data.info.used_memory_human,col5:"\u4F7F\u7528CPU",col6:"".concat(t.data.info.used_cpu_user_children,"%"),col7:"\u5185\u5B58\u914D\u7F6E",col8:t.data.info.maxmemory_human}),o.push({col1:"AOF\u662F\u5426\u5F00\u542F",col2:t.data.info.aof_enabled==="0"?"\u5426":"\u662F",col3:"RDB\u662F\u5426\u6210\u529F",col4:t.data.info.rdb_last_bgsave_status,col5:"Key\u6570\u91CF",col6:t.data.dbSize,col7:"\u7F51\u7EDC\u5165\u53E3/\u51FA\u53E3",col8:"".concat(t.data.info.instantaneous_input_kbps,"/").concat(t.data.info.instantaneous_output_kbps,"kps")}),K(o);var J=t.data.commandStats.map(function(p){return{x:p.name,y:Number(p.value)}});$(J),H(t.data.info.used_memory_human),Q(t.data.info.used_memory/t.data.info.total_system_memory)}})},[]),(0,e.jsxs)("div",{children:[(0,e.jsx)(v.Z,{gutter:[24,24],children:(0,e.jsx)(r.Z,{span:24,children:(0,e.jsx)(u.Z,{title:"\u57FA\u672C\u4FE1\u606F",className:i.Z.card,children:(0,e.jsx)(S.Z,{rowKey:"col1",pagination:!1,showHeader:!1,dataSource:M,columns:N})})})}),(0,e.jsxs)(v.Z,{gutter:[24,24],children:[(0,e.jsx)(r.Z,{span:12,children:(0,e.jsx)(u.Z,{title:"\u547D\u4EE4\u7EDF\u8BA1",className:i.Z.card,children:(0,e.jsx)(Z.Z,{height:320,radius:.8,innerRadius:.5,angleField:"y",colorField:"x",data:P,legend:!1,label:{position:"spider",text:function(o){return"".concat(o.x,": ").concat(o.y)}}})})}),(0,e.jsx)(r.Z,{span:12,children:(0,e.jsx)(u.Z,{title:"\u5185\u5B58\u4FE1\u606F",className:i.Z.card,children:(0,e.jsx)(j.Z,{title:z,height:320,percent:h,formatter:R,padding:-16,style:{textContent:function(){return h.toFixed(2).toString()+"%"}},data:{target:h,total:100,name:"score",thresholds:[20,40,60,80,100]},meta:{color:{range:["#C3F71F","#B5E61D","#FFC90E","#FF7F27","#FF2518"]}}})})})]})]})},G=U},57089:function(C,l){l.Z={card:"card___fGN_T",miniChart:"miniChart___Qvm3q",chartContent:"chartContent___keQ6l",chartLoading:"chartLoading___wFM1g"}}}]);
