Ticket #18 (new Improvement)
New Caching Design Needed for both Tag Caching and File Caching
| Reported by: | steven | Owned by: | steven |
|---|---|---|---|
| Priority: | Critical | Component: | App Server |
| Version: | 0.9.0 RC1 | Keywords: | |
| Cc: |
Description
We need to redesign the cache architecture so that both tag caching and file caching are implementable for FLVReader.
As of now, the caching for FLVReader is implemented in FLV which is layed on top of FLVReader and only whole file caching is possible. A more reasonable solution is to put the caching logic beneath the FLVReader (so that FLVReader is the consumer of the caching service).
From the design's point of view, we have two kinds of memory buffers for FLV streaming. One is prefetching buffer and the other is caching. The prefetching buffer is mainly used to reduce the disk IO overhead while caching is used for content sharing/reuse among multiple requests (many clients request for the same content and we only need to maintain one copy to serve all).
Prefetching buffer is implemented on r1578 (APPSERVER-8). Thanks Daniel for the initial code.
