1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| package cn.flightfeather.supervision.common.utils
|
| /**
| * 缓存查询工具类
| * @date 2025/9/15
| * @author feiyu02
| */
| object QueryByCache {
|
| /**
| * 缓存查询
| * @param cache 缓存获取方法
| * @param calculate 计算方法
| * @param save 缓存保存方法
| * @return
| */
| fun <T> queryCache(cache: () -> T?, calculate: () -> T, save: (t: T) -> Unit = {}): T {
| val cacheData = cache.invoke()
| if (cacheData != null) {
| return cacheData
| }
| val calculateData = calculate.invoke()
| save.invoke(calculateData)
| return calculateData
| }
| }
|
|