缓存加锁

前端之家收集整理的这篇文章主要介绍了缓存加锁前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

<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

猜你在找的程序笔记相关文章