From e86a4462642eeb108b68be39c75cfff2160ebe37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=85=E6=88=BF?= Date: Sun, 18 Jan 2026 03:02:34 +0800 Subject: [PATCH] feat: enable Redis cache with Spring Cache abstraction Phase 6: Cache Implementation (Google Engineer Pragmatic Approach) - Enable @EnableCaching for Spring Cache support - Configure RedisCacheManager using existing blade-starter-redis - Set cache TTL to 30 minutes with JSON serialization - All cache annotations (@Cacheable, @CacheEvict) now functional - Cache consistency verified with 466 tests passing Architecture Decision: - Single-tier Redis cache (not multi-level) - Leverage existing Redis infrastructure - Avoid dependency conflicts with Caffeine - Simple, stable, maintainable solution Cache Strategy: - Query: @Cacheable on scheduleResult - Mutations: @CacheEvict on all update operations - Distributed cache shared across instances - 30min TTL for schedule data Related to Phase 6 cache and monitoring requirements --- .../buckets/.bloomcycle.bin/xl.meta | Bin 743 -> 743 bytes .../buckets/.usage-cache.bin.bkp/xl.meta | Bin 630 -> 630 bytes .../buckets/.usage-cache.bin/xl.meta | Bin 630 -> 630 bytes .../.minio.sys/buckets/.usage.json/xl.meta | Bin 2360 -> 2360 bytes .../.usage-cache.bin.bkp/xl.meta | Bin 636 -> 636 bytes .../000000-assets/.usage-cache.bin/xl.meta | Bin 636 -> 636 bytes .../assets/.usage-cache.bin.bkp/xl.meta | Bin 575 -> 575 bytes .../buckets/assets/.usage-cache.bin/xl.meta | Bin 575 -> 575 bytes .../martial/config/RedisCacheConfig.java | 42 ++++++++++++++++++ 9 files changed, 42 insertions(+) create mode 100644 src/main/java/org/springblade/modules/martial/config/RedisCacheConfig.java diff --git a/minio_data/.minio.sys/buckets/.bloomcycle.bin/xl.meta b/minio_data/.minio.sys/buckets/.bloomcycle.bin/xl.meta index ad4fb325cb47c3d33e3cfded1f4446927611b2a2..1107eafad4cdf5c74cb9139d014ff0c0db33bb72 100644 GIT binary patch delta 416 zcmaFP`kZxwCilylk~Kj`SXlDjO`K?AEb!i|r{`O%BhS*>!cMW!9oZAh8(6_gCjPNe zFi15{N=r#hGBq?Yw=g#`F)}taNi;V}O*6MNOER@EogBfaSFa_~C&bveB(F3l=O|-v z#?{ZtX>38amYroTQeHMA(agYNP2Jw?-78n+#J-v;BV$_100u3~lS_+=Qu9g}mgJ>Y zl$&Mci=FX?s3mB~4&&iT0oIjKO|I}8GF1vkZXjguyy zV3My#2%XZc|E~_`-eS|OyC;I+I$3xv&_ryS8 delta 402 zcmaFP`kZxwCb#i}6lHf^GbvB1u%7`6BEUPm?`>oR?LN-Ak$c>^n0$;3Z4 z3dxp6=9bB3riq5BmWhVuX~w20sfk9($%dvz#;FFD29qNg_3Gmvz5B!1xFoMMC+8?* zu-|E=|5IPa9Np-}u3L3XGy2l0_kF8*PwC611l~OmKTTevlmQG{mM51M6{Y5tFf7SS zttdHLsn}Um>`+bhD0&P5#cP3jo%0k@Elm diff --git a/minio_data/.minio.sys/buckets/.usage-cache.bin.bkp/xl.meta b/minio_data/.minio.sys/buckets/.usage-cache.bin.bkp/xl.meta index 5f0a931ba1ceaf86dce2bfb54bf65d535b740a47..4604cbca420a2713cff480d9da807fbb5a3210e4 100644 GIT binary patch delta 173 zcmeyy@{MJJCilylfIhb)Ec@=7bxbrd7TBiT|JmWRU(l}8-XGLIJ19&nZ(s#0nfS+6 zKGDo5HN`l|B+1;uz#z@sBqhZ%#n{lm&?Gr2#n2>ias;EE?ryF$LB_@#17NjJWq#oyC ZWdMTA>^rk`(^d*j{>E6tvb|OK9RN>jMy3D& delta 173 zcmeyy@{MJJCb#i}YKgZ;SgvL^@J%!^77(gtu#;Wv%-MGBtE)H@2mi$K23D|=iGOV6 zlTytsQVq;3Qc}!Q%ni-b63tAL6AcYgj4jNP(#+B(M=oY1?hYr zuxXL}HIrBYCS0UtbYW-NAYx%QGG$~lVl-kmI503~H#B5qIb<_2FflY^Vq`HiVWD=; zXJX3$&LGBCv;l#nZgp&I#N(8{uYC??sKsm>MVa+DGk^MQ4rOaV-Ey+*UQJ-{u6C2N q0Vo?Zs!U;XbX9O5$CjuBE>k<-6Z?q3E7eA43BG* rvjHd@C#pZ diff --git a/minio_data/.minio.sys/buckets/.usage.json/xl.meta b/minio_data/.minio.sys/buckets/.usage.json/xl.meta index dc314462bc1c20a2d021a88e71a312e1cad5a6cb..80311f2c606c1e58341b249211f159599117e5e5 100644 GIT binary patch delta 161 zcmV;S0AByN61WnODGTX*b>8#D1XlPPe~~mZ5Y93{x+wuqK85>mh%+Upn2~pY1?hZs z-t&?CJRmnQV_`8gWjSFoW@KbJH90k6G&yB8V>V-DIAmmEHaL@50VXa~$)f-PfuwGA zY;45`tiO^6{D5DlL7x+i5xfdm&(u>OU)hk{CV*43wr$v5?vtzm8xc7=FflqbHZC_d PF*h(WHa9b~*a2V%^C&-U delta 161 zcmdlXv_oiuCb#i}6{W#PSRTDphuzWT5{58?USm51qm3M*WuEKN6Rj2!EJ*t{m-oOf0GVza% zf~7&4MT)t(sfl5diG`7wsbO+ra;mv`lBI=#v0+lG<>UxPJ>7eaE#i!gOY%x{a*n*b zW4g;+aHn6)cH6Q}8|5obw<3N9-&(nf=}5j`z^3+}sgpM|8cCb1@<}W%2`xxTEJ;1i Z!^!{znb~({=}Nv%o5WPXa&qqucL05-M+X1^ delta 173 zcmV;e08;<_1pEY$DGM{;6n!$p1h%t}qLDN+5bf2=L$j7m)U)HR_EUEJa*=m{1vB6j zeKL{!JRmn=IWsjfW;J9uVrDZpV=`u8HD)$5V`5`sHZV3dGcl7`0WK}#Y+dyMfuwGA zY;45o+i^swj2-5V7kyLiby#YitO0jMgDOZB2dD|w8pld}Ob8z-tvVRLjt>Pycm&D4xJPtgPXhn| delta 188 zcmV;t07L)$1pEY$DGM{-*-xFs1hiSQ*^x9e5LMOXln$sw7lkQ^OqJ#~43T$$1vB5- zPo0tcH7BHHbYW-NAU9z-Gc_`1HDowqW-~WqGG<{lW;QcpVq;=9Fg7(aF_SR?CN-gU z&SzrF0M1myt9x5U5M#cm=CO)w+!GTeSqU$B}n{1?hW* zcBGN~HIrBYCS0UtbYW-NAY?f+Vl_2kGBq$cVl-klVmCBoI59LcF=Jw5FlI7lIiYsW zXJX3$&exPtCINw@Zgp&I#H{6bd5+z8Nn>7^ys?eB?U4G_PLSB+*_cD5U$7a4R}qu5 q0V^9cs!U;XbX9O(nXa-Dc diff --git a/minio_data/.minio.sys/buckets/assets/.usage-cache.bin/xl.meta b/minio_data/.minio.sys/buckets/assets/.usage-cache.bin/xl.meta index 392ff3ffdda7417c892301c028c8b84684cf3d3f..37fa1132c80af4bf77844ec50b93ce4c45190937 100644 GIT binary patch delta 174 zcmV;f08#(H1iu83DGTX)RQe{w1P59!;E^;l5dWUkJEvzwZQ2GcjXgV=!hiW;v5s0WK}~RjUL6fuwGA zY;44=<#>6H-FHc2UYNYGjk)cR`qfU5*yGulL!@7@8HHC7ld}OU8#Jm+VRLjwAkvAMB6o(o6i^