<table class="text">
<tr class="li1"><td class="ln"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 获取数据[较快的方式] data = getfromcache(id) data = json.decode(data) //如果通过检查缓存生成时间,发现缓存已经过于陈旧,那么就将缓存过期时间设置为现在开始的5分钟以后(这样其他并发进程就会以为此缓存还未过期,还会继续使用5分钟,只让当前这一个请求去重建缓存) if data != null && data.atime+86400 < now then data.atime = now+300-86400 data = json.encode(data) //对真正的cache来说,缓存10天或者更长时间 setintocache(id,data,864000) //这里把data设置成null是为了走到下面的if中去重建缓存 data = null end if data == null then //从数据库中获取数据[较慢的方式] data = getfromdb(id) data = {data:data,atime:now} data = json.encode(data) //对真正的cache来说,缓存10天或者更长时间 setintocache(id,864000) return data end return data 原文链接:https://www.f2er.com/note/422693.html