About Features Downloads Getting Started Documentation Events Support GitHub

Site Tools


development:architecture:caching

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
development:architecture:caching [2016/05/09 20:13]
demiankatz created
development:architecture:caching [2020/09/22 13:54] (current)
demiankatz
Line 2: Line 2:
  
 VuFind uses caching in several places to improve performance. VuFind uses caching in several places to improve performance.
 +
 +===== The Cache Manager and Its Caches =====
 +
 +VuFind has a [[https://github.com/vufind-org/vufind/blob/dev/module/VuFind/src/VuFind/Cache/Manager.php|VuFind\Cache\Manager]] class which pre-configures [[development:architecture:laminas|Laminas]] cache objects and/or directory locations for several named caches. Each of these caches is used slightly differently.
 +
 +  * config - stores top-level Laminas configurations; manually set up in [[https://github.com/vufind-org/vufind/blob/dev/config/application.config.php|application.config.php]] but included in the cache manager to assist with automated cache clearing in the admin panel.
 +  * cover - stores cover images; used by the [[https://github.com/vufind-org/vufind/blob/dev/module/VuFind/src/VuFind/Cover/Loader.php|cover loader]] to store downloaded image files.
 +  * language - stores parsed i18n language files; set up as part of [[https://github.com/vufind-org/vufind/blob/v3.0/module/VuFind/src/VuFind/Service/Factory.php#L883|i18n initialization]]. 
 +  * object - stores serialized PHP objects; this is the most general-purpose cache in VuFind, shared by several different consumers. If you want to cache data of your own, this is a good place to put it, as long as you name your cache keys with appropriate uniqueness.
 +  * searchspecs - stores parsed/processed YAML search specification configurations; used by the [[https://github.com/vufind-org/vufind/blob/dev/module/VuFind/src/VuFind/Config/SearchSpecsReader.php|SearchSpecsReader]].
 +
 +===== Cache Locations =====
 +
 +The location of the cache may vary depending on various environment variables, your VuFind version, and whether you are running code through Apache or from the command line. See VuFind\Cache\Manager::getCacheDir for the rules that apply in your particular version of VuFind.
 +
 +===== Consumers of the Object Cache =====
 +
 +As noted above, VuFind's object cache is the best general-purpose place for storing data, as long as you use cache keys that do not conflict with other VuFind components. Here is a list of current keys reserved in the object cache (current as of VuFind 3.0):
 +
 +  * alephTranslator - used by VuFind\ILS\Driver\Aleph
 +  * edsAuthenticationToken - used by VuFindSearch\Backend\EDS\Backend
 +  * solrSearchAdvancedFacets*, solrSearchHomeFacets* - used by VuFind\Controller\SearchController
 +  * summonSearchAdvancedFacets - used by VuFind\Controller\SummonController
 +  * VoyagerRestful-* - used by VuFind\ILS\Driver\VoyagerRestful
development/architecture/caching.1462824796.txt.gz · Last modified: 2016/05/09 20:13 by demiankatz