{"id":532,"date":"2012-09-26T15:47:12","date_gmt":"2012-09-26T22:47:12","guid":{"rendered":"https:\/\/2012.vancouver.wordcamp.org\/?post_type=wcb_session&#038;p=532"},"modified":"2012-11-21T02:28:55","modified_gmt":"2012-11-21T10:28:55","slug":"caching-in-wordpress-invalidation-schemes","status":"publish","type":"wcb_session","link":"https:\/\/vancouver.wordcamp.org\/2012\/session\/caching-in-wordpress-invalidation-schemes\/","title":{"rendered":"Caching in WordPress: Invalidation Schemes"},"content":{"rendered":"<p>If you do any reading about caching you will undoubtedly come across the following quote frequently attributed to Phil Karlton: &#8220;There are only two hard things in Computer Science: cache invalidation and naming things.&#8221; When writing WordPress applications, this certainly holds true. In my talk, I would like to discuss techniques for regenerating and invalidating cached objects. With WordPress&#8217; transients API and WP_Object_Cache class, it is a breeze to cache data; however, without a consideration of how that data will be updated, it can be difficult to develop a robust application that can handle constantly changing data. I plan to discuss topics that include: invalidating groups of data, when to invalidate, and avoiding &#8220;race conditions.&#8221;<\/p>\n<p><a href=\"http:\/\/tollmanz.com\/invalidation-schemes\/\" target=\"_blank\">Accompanying article<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you do any reading about caching you will undoubtedly come across the following quote frequently attributed to Phil Karlton: &#8220;There are only two hard things in Computer Science: cache invalidation and naming things.&#8221; When writing WordPress applications, this certainly &hellip; <a href=\"https:\/\/vancouver.wordcamp.org\/2012\/session\/caching-in-wordpress-invalidation-schemes\/\">Continue reading <span class=\"screen-reader-text\">Caching in WordPress: Invalidation Schemes<\/span>  <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":7667187,"featured_media":0,"template":"","meta":{"_crdt_document":"","jetpack_post_was_ever_published":false,"_wcpt_session_time":0,"_wcpt_session_duration":3000,"_wcpt_session_type":"","_wcpt_session_slides":"","_wcpt_session_video":"","_wcpt_speaker_id":[646],"footnotes":""},"session_track":[55292],"session_category":[],"class_list":["post-532","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-end-use-development"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2EMqj-8A","session_date_time":{"date":"","time":""},"session_speakers":[{"id":"646","slug":"zack-tollman","name":"Zack Tollman","link":"https:\/\/vancouver.wordcamp.org\/2012\/speaker\/zack-tollman\/"}],"session_cats_rendered":null,"_links":{"self":[{"href":"https:\/\/vancouver.wordcamp.org\/2012\/wp-json\/wp\/v2\/sessions\/532","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vancouver.wordcamp.org\/2012\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/vancouver.wordcamp.org\/2012\/wp-json\/wp\/v2\/types\/wcb_session"}],"author":[{"embeddable":true,"href":"https:\/\/vancouver.wordcamp.org\/2012\/wp-json\/wp\/v2\/users\/7667187"}],"version-history":[{"count":4,"href":"https:\/\/vancouver.wordcamp.org\/2012\/wp-json\/wp\/v2\/sessions\/532\/revisions"}],"predecessor-version":[{"id":1198,"href":"https:\/\/vancouver.wordcamp.org\/2012\/wp-json\/wp\/v2\/sessions\/532\/revisions\/1198"}],"speakers":[{"embeddable":true,"href":"https:\/\/vancouver.wordcamp.org\/2012\/wp-json\/wp\/v2\/speakers\/646"}],"wp:attachment":[{"href":"https:\/\/vancouver.wordcamp.org\/2012\/wp-json\/wp\/v2\/media?parent=532"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/vancouver.wordcamp.org\/2012\/wp-json\/wp\/v2\/session_track?post=532"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/vancouver.wordcamp.org\/2012\/wp-json\/wp\/v2\/session_category?post=532"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}