From 4b78404c20490a615459267426ce9e6737bf4485 Mon Sep 17 00:00:00 2001 From: wei <> Date: Fri, 14 Jul 2006 09:20:45 +0000 Subject: Moving files. --- .../protected/pages/Manual/CacheModels.page | 113 --------------------- 1 file changed, 113 deletions(-) delete mode 100644 demos/sqlmap-docs/protected/pages/Manual/CacheModels.page (limited to 'demos/sqlmap-docs/protected/pages/Manual/CacheModels.page') diff --git a/demos/sqlmap-docs/protected/pages/Manual/CacheModels.page b/demos/sqlmap-docs/protected/pages/Manual/CacheModels.page deleted file mode 100644 index 94f20f3d..00000000 --- a/demos/sqlmap-docs/protected/pages/Manual/CacheModels.page +++ /dev/null @@ -1,113 +0,0 @@ - - -

Cache Models

-

Some values in a database are know to change slower than others. To improve -performance, many developers like to cache often-used data to avoid making -unnecessary trips back to the database. SQLMap provides its own caching -system, that you configure through a <cacheModel> element. -

- -

The results from a query Mapped Statement can be cached simply by specifying -the cacheModel parameter in the statement tag (seen above). A cache model -is a configured cache that is defined within your DataMapper configuration -file. Cache models are configured using the cacheModel element as -follows:

- - - - - - - - - - -

The cache model above will create an instance of a cache named -"product-cache" that uses a Least Recently Used (LRU) implementation. The -value of the type attribute is either a class name, or an alias for one -of the included implementations (see below). The cache will be flushed -whenever the insertProduct, updateProduct, or deleteProduct -mapped statements are executed. There can be any number of "flush on -execute" elements specified for a cache. Some cache implementations may need -additional properties, such as the "cache-size" property demonstrated above. -In the case of the LRU cache, the size determines the number of entries to -store in the cache. Once a cache model is configured, you can specify the -cache model to be used by a mapped statement, for example:

- - - - select * from PRODUCT where PRD_CAT_ID = #value# - - - -

Cache Implementation

-

The cache model uses a pluggable framework for supporting different types of -caches. The choice of cache is specified in the "implementation" attribute -of the cacheModel element as discussed above. The class name specified -must be an implementation of the ISqlMapCache interface, or one of the -two aliases discussed below. Further configuration parameters can be passed to -the implementation via the property elements contained within the body of the -cacheModel. Currently there are 2 implementations included with the SQLMap PHP DataMapper.

- -
Info: -The cache implementations, LRU and FIFO cache below do not persist across -requests. That is, once the request is complete, all cache data is lost. -These caches are useful queries that results in the same repeated data during -the current request. -
- -

Least Recently Used [LRU] Cache

-

The LRU cache implementation uses -an Least Recently Used algorithm to determines how objects are automatically -removed from the cache. When the cache becomes over full, the object that was -accessed least recently will be removed from the cache. This way, if there is -a particular object that is often referred to, it will stay in the cache with -the least chance of being removed. The LRU cache makes a good choice for -applications that have patterns of usage where certain objects may be popular -to one or more users over a longer period of time (e.g. navigating back and -forth between paginated lists, popular search keys etc.).

- -

The LRU implementation is configured as follows:

- - - - - - - - - -

Only a single property is recognized by the LRU cache implementation. This -property, named CacheSize must be set to an integer value representing -the maximum number of objects to hold in the cache at once. An important thing -to remember here is that an object can be anything from a single string -instance to an array of object. So take care not to store too much in your -cache and risk running out of memory.

- -

FIFO Cache

-

The FIFO cache implementation uses an First In First Out algorithm to -determines how objects are automatically removed from the cache. When the -cache becomes over full, the oldest object will be removed from the cache. The -FIFO cache is good for usage patterns where a particular query will be -referenced a few times in quick succession, but then possibly not for some -time later.

- -

The FIFO implementation is configured as follows:

- - - - - - - - - - -

Only a single property is recognized by the FIFO cache implementation. This -property, named CacheSize must be set to an integer value representing -the maximum number of objects to hold in the cache at once. An important thing -to remember here is that an object can be anything from a single String -instance to an array of object. So take care not to store too much in your -cache and risk running out of memory.

- -
\ No newline at end of file -- cgit v1.2.3