This system is incredibly flexible in that it allows us to use a variety of strategies for caching along with a variety of storage mechanisms. Strategies are basically methods to determine how to map objects to their cache entries. Containers allow us to customize where the data is stored (file system, ram, mem_cached, database, etc).
CLASS NAME | DESCRIPTION |
| FTCache | The center of the caching system. This handles cacheable objects and stores them in the chosen container mechanism using the given algorithm. |
| FTCache_Cacheable | Interface for any object that is cacheable by this caching scheme. |
| FTCache_Strategy | Describes the functions that we will need to implement to provide a mapping between the objects ID and the ID used in the cache. |
| FTCache_Container | This describes the way the functions that we will need to implement to store the given data into the cache. |
| FTCache_Container_CSV | Implements a cache stored in an index flat file (csv format) |
| FTCache_Container_Volatile | Implements a volatile cache that only exists for this runtime of the program. |
| FTCache_Strategy_DirectMapping | Implements a Direct Mapping strategy between the given object id and the cache index id by doing a modulus using the size of the cache. |