Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,*,Data Level Caching,Caching the core of your application,Benjamin Elmore,Allaire Spectra Evangelist,February 13,2001,Overview,Understanding the Approach,Analyzing your Site,Caching Techniques,Reorganization of Cached Data,Reuse of Cached Data,Cache Synchronization across Clusters,Understanding the Approach,Core Concepts:,Sites have Data Themes that underline the architecture and purpose of the site,By caching and reusing the cached data that the Data Theme consists of,majority of the page wont hit the database.,This approach will work in either CF or Spectra and works in conjunction with other techniques,Cache,Cache,Understanding the Approach,News,Course,Course,List,My,Course,Course,Registration,Most,Recent,Most,Recent,My,News,News,Archive,News,Search,Home,Two Dimensional View of Site,Analyzing your Site,Identifying how your site is organized,Group into areas(Product,News,Course,Home),Identify data that is used in each area,Look for Primary(Course,News)and Secondary(Press Releases,Course Offering,Students)of each area,Identify infrastructure data that is used for site,State,Service Groups,Zip Codes,Analyzing your Site,View Site Layout,Segment into focus areas,Identify data that drives the areas,Identify the formats that the data is needed,Decide on Cache Synchronization,Course,List,My,Course,Course,Registration,Most,Recent,Most,Recent,My,News,News,Archive,News,Search,Home,News,Cache,Most,Recent,My,News,News,Archive,News,Search,Caching Techniques,Query Caching,attributes,Write into persistent scope,Persistent Scope Caching,Server,Application or Session,Preformatted Data,Preformatted HTML,Caching Techniques,Two Attributes:,CachedWithin:,Within a period of time.,I.e.CreateTimeSpan(0,0,0,0),CachedAfter:,After a set time.,I.e.12/12/2000 06:00:00,Must have SQL and Attributes the same in order to Cache.,Managed by ColdFusion Internally,Caching Techniques,Must use locks to access,Recommend you load into request scope at start of process to keep from having to use multiple locks in a page,Custom Tags can encapsulate the writing to and the access from a persistent scope,Load caches into a single key from the scope to centralize management,Reorganization of Cached Data,Site uses data in a variety of formats,Subset,reordering,combination with other data elements,Process can use data in different formats,Queries,structures,arrays,Each format can access data in different ways,structFind(),structSort(),structKeyList(),arrayToList(),arrayAvg(),Reorganization Techniques,Use Begin and End Tags to capture reformatting,combining of data,Convert Queries to Structures or Arrays,Structure keys based upon what data you will access it by,Reuse of Cached Data,Each Page pulls from necessary caches,New caches pull from existing caches,Administrative Interface pull from necessary caches,Cache Synchronization,Administration,As we manage the data,the changes need to be reflected in the caches,Clustering,Each cache on each server needs to remain the same,Synchronization Techniques,Use timeout low cache timeouts,Each cache refreshes every 5 minutes,Route is as a system message to each server,HTTP Requests,Message Queue(Spectra,Java),Messaging Table in DB,Refresh into cache,At once,During access,