Hello!
2014-05-22 2:52 GMT-07:00 Evil Mybliss:
> lua 在 Nginx 中回上层取文件, 怎么解决如下问题.
> 就是比较大点的文件, 当用户是 range 下载. 这时 lua 怎么存储这种分片,
> 因为用户有可能先从中间开始取. 就不好去源站取和存这个文件了,
> 如果不存这个文件, 都会打到后端, 如果存, 又只能存一个分片, 可能下一个用户的分片段完全不一样.
>
这个问题其实和 lua 以及 nginx 并没有什么关系。
这取决于你自己的缓存策略。一般就两种选择:
1. 在第一个 range 请求时向源站获取并缓存完整的资源,然后再直接从缓存的资源里读取并返回当前 range 请求对应的片段(对于后续的
range 请求也是如此)。
2. 对于每一个 range 请求只缓存其对应的资源片段,把 range 区间本身也加进缓存用的 key
里面去。这种方法适用于大多数客户端都使用相同的分片方式。
Regards,
-agentzh