SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
temporary cache assistance:
transients
The Transients API
!
“offers a simple and standardized
way of storing cached data in the
database temporarily by giving it a
custom name and a timeframe after
which it will expire and be deleted.”
The Transients API

!
✓ like Options API, but with expiration
✓ uses fast memory (if configured)
✓ uses database otherwise
Native Object Cache Plugin
Option
Persistent
(database)
N/A
Transient
Persistent
(database)
Persistent (varies)
Cache
Non-persistent
(memory)
Persistent (varies)
Thanks to Rarst.
ScrobblesFriendsTweets
thetransientsAPI
externalAPIs
Options API: Username, URL, ID
Custom QueriesRatingsTag Cloud
thetransientsAPI
expensivequeries
3!
mainfunctions
mainfunctions
set_transient
set_transient(
$transient,
$value,
$expiration
);
mainfunctions
set_transientargs
$transient
!
✓ (string) a unique identifier for your cached data
✓ 45 characters or less in length
✓ For site transients, 40 characters or less in length
mainfunctions
set_transientargs
$value
!
✓ (array|object) Data to save, either a regular variable or an
array/object
!
✓ Handles serialization of complex data for you
mainfunctions
set_transientargs
$expiration
!
✓ (integer) number of seconds to keep the data before
refreshing
!
✓ Example: 60*60*24 or 86400 (24 hours)
mainfunctions
timeconstants
MINUTE_IN_SECONDS = 60 (seconds)
HOUR_IN_SECONDS = 60 * MINUTE_IN_SECONDS
DAY_IN_SECONDS = 24 * HOUR_IN_SECONDS
WEEK_IN_SECONDS = 7 * DAY_IN_SECONDS
YEAR_IN_SECONDS = 365 * DAY_IN_SECONDS
mainfunctions
get_transient
get_transient($transient);
!
✓ If the transient does not exist, or has expired, returns false
✓ An integer value of zero/empty could be the stored data
✓ Should not be used to hold plain boolean values; array or
integers instead
mainfunctions
delete_transient
delete_transient($transient);
mainfunctions
wpmultisite
set_site_transient();
get_site_transient();
delete_site_transient();
These work ‘network wide’.
3!
exampleusecases
cachetagcloud
cachetagcloud
function get_tag_cloud() {
!
if ( false === ( $tag_cloud = get_transient( 'my_tag_cloud' ) ) ) {
!
$tag_cloud = wp_tag_cloud( 'echo=0' );
set_transient( 'my_tag_cloud', $tag_cloud, 60*60*24 );
!
} else {
!
$tag_cloud = get_transient( 'my_tag_cloud' );
!
}
!
return $tag_cloud;
!
}
EXPERT
!
!
MODE
cachetagcloud
function edit_term_delete_tag_cloud() {
delete_transient( 'my_tag_cloud' );
!
}
!
add_action( 'edit_post', 'edit_term_delete_tag_cloud' );
cachemyissues
cachemyissues
function we_have_issues() {
if ( false === ( $issues = get_transient( 'we_have_issues' ) ) ) {
$response = wp_remote_get('https://api.github.com/repos/twbs/bootstrap/
issues?assignee');
if ( is_wp_error( $response ) ) {
$error_message = $response->get_error_message();
echo "This borked: " . $error_message;
} else {
$issues = wp_remote_retrieve_body($response);
set_transient( 'we_have_issues', $issues, 60*60*24 );
}
} else {
$issues = get_transient( 'we_have_issues' );
}
$issues = json_decode($issues, true);
$issuereturn = '';
for ( $i = 0; $i < 5; $i++ ) {
$issuereturn .= "<h3><a href='" . $issues[$i]["html_url"] . "'>".
$issues[$i]["title"] . "</a></h3>";
}
return $issuereturn;
}
EXPERT
!
!
MODE
cachemyissues
function refresh_my_issues() {
if ( current_user_can('edit_plugins') && isset($_GET['forcedel']) &&
$_GET['forcedel'] === 'yes' ) {
delete_transient( 'we_have_issues' );
}
}
!
function refresh_via_admin_bar() {
!
global $wp_admin_bar;
$wp_admin_bar->add_menu( array(
'title' => __('Refresh'),
'href' => '?forcedel=yes',
'id' => 'refresh-issues',
'parent' => false
) );
!
}
!
add_action( 'wp_before_admin_bar_render', 'refresh_via_admin_bar' );
cachebigquery
cachebigquery
function query_for_commenters() {
if ( false === ( $commenters = get_transient( 'top_commenters_cached' ) ) ) {
global $wpdb;
$commenters = $wpdb->get_results("
select count(comment_author) as comments_count, comment_author, comment_type
from $wpdb->comments
where comment_type != 'pingback'
and comment_author != ''
and comment_approved = '1'
group by comment_author
order by comment_author desc
LIMIT 10
");
set_transient( 'top_commenters_cached', $commenters, 60*60*24 );
} else {
$commenters = get_transient( 'top_commenters_cached' );
}
$comment_list = '<ol>';
foreach($commenters as $commenter) {
$comment_list .= '<li>';
$comment_list .= $commenter->comment_author;
$comment_list .= ' (' . $commenter->comments_count . ')';
$comment_list .= '</li>';
}
$comment_list .= '</ol>';
return $comment_list;
}
cachebigquery
function delete_query_for_commenters() {
!
delete_transient( 'top_commenters_cached' );
!
}
!
add_action( 'comment_post', 'delete_query_for_commenters' );
cachebigquery
function popular_posts( $num=10 ) {
if ( false === ( $popular = get_transient( 'popular_posts' . $num ) ) )
{
$query = new WP_Query( array(
'orderby' => 'comment_count',
'posts_per_page' => $num
) );
set_transient( 'popular_posts' . $num, $query, 60*60*24 );
} else {
$query = get_transient( 'popular_posts' . $num );
}
!
return $query;
}
cachebigquery
$newquery = popular_posts(3);
if ( $newquery->have_posts() ) {
while ( $newquery->have_posts() ) {
$newquery->the_post(); ?>
<h4><?php the_title(); ?></h4>
<?php the_excerpt(); ?>
<?php
}
wp_reset_postdata();
}
cachebigquery
function clear_popular_posts() {
!
for ( $i = 0; $i < 50; $i++ ) {
!
delete_transient( 'popular_posts' . $i );
!
}
!
}
!
add_action( 'edit_post', 'clear_popular_posts' );
EXPERT
!
!
MODE
cachebigquery
function popular_posts_panic( $num=10 ) {
if ( false === ( $popular =
get_transient( 'popular_posts' . $num ) ) ) {
return '';
} else {
$query = get_transient( 'popular_posts' . $num );
}
!
return $query;
}
Thanks to Andrew Gray for the idea.
Once a transient expires, it remains so until the new result is saved.
Heavy traffic can mean too many concurrent MySQL connections.
cachebigquery
$newquery = popular_posts_panic(3);
if ( $newquery !== '' ) {
if ( $newquery->have_posts() ) {
while ( $newquery->have_posts() ) {
$newquery->the_post(); ?>
<h4><?php the_title(); ?></h4>
<?php the_excerpt(); ?>
<?php
}
wp_reset_postdata();
}
}
cachebigquery
function renew_popular_posts() {
for ( $i = 0; $i < 50; $i++ ) {
$query = new WP_Query( array(
'orderby' => 'comment_count',
'posts_per_page' => $i
) );
set_transient( 'popular_posts' . $i, $query, 60*60*24*365 );
}
}
!
add_action( 'hourly_renew_popular_posts', 'renew_popular_posts' );
!
if ( !wp_next_scheduled( 'hourly_renew_popular_posts' ) ) {
wp_schedule_event( time(), 'hourly', 'hourly_renew_popular_posts' );
}
TOP OF HACKER NEWS
!
!
CONQUERED
4!
warnings
expiry&garbagecollection
✓ everything works on request
✓ expired != deleted, unless requested
✓ unrequested, undeleted transients stay
until you remove them explicitly
scalarvalues
✓ accepts scalar values (integer, float,
string or boolean) & non-scalar
serializable values (arrays, some
objects)
!
✓ SimpleXMLElement will FREAK. OUT.,
so convert it to a string or array of
objects (i.e. simplexml_load_string)
infinitetransients
✓ transients set without an expiration
time are autoloaded
!
✓ if you don’t need it on every page, set
an expiration (even if it’s a year)
!
✓ consider the Options API for non-
transient data

cachinggotchas
✓ in some shared hosting environments,
object caching can be slower than
using the database; check your host’s
recommended settings
!
✓ always use the Transients API to access
transients; don’t assume they’re in the
database (or vice versa)
3!
usefultools
TLC Transients
Supports soft-
expiration,
background updating
usefultools
Artiss Transient Cleaner
Deletes expired
transients and optimizes
table
Debug Bar Transients
Adds panel to Debug
Bar with transient info
@cliffseal

Weitere ähnliche Inhalte

Was ist angesagt?

Zendcon 2007 Api Design
Zendcon 2007 Api DesignZendcon 2007 Api Design
Zendcon 2007 Api Designunodelostrece
 
Corephpcomponentpresentation 1211425966721657-8
Corephpcomponentpresentation 1211425966721657-8Corephpcomponentpresentation 1211425966721657-8
Corephpcomponentpresentation 1211425966721657-8PrinceGuru MS
 
MongoDB .local Paris 2020: La puissance du Pipeline d'Agrégation de MongoDB
MongoDB .local Paris 2020: La puissance du Pipeline d'Agrégation de MongoDBMongoDB .local Paris 2020: La puissance du Pipeline d'Agrégation de MongoDB
MongoDB .local Paris 2020: La puissance du Pipeline d'Agrégation de MongoDBMongoDB
 
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011Masahiro Nagano
 
From mysql to MongoDB(MongoDB2011北京交流会)
From mysql to MongoDB(MongoDB2011北京交流会)From mysql to MongoDB(MongoDB2011北京交流会)
From mysql to MongoDB(MongoDB2011北京交流会)Night Sailer
 
[WLDN] Supercharging word press development in 2018
[WLDN] Supercharging word press development in 2018[WLDN] Supercharging word press development in 2018
[WLDN] Supercharging word press development in 2018Adam Tomat
 
Adventures in Optimization
Adventures in OptimizationAdventures in Optimization
Adventures in OptimizationDavid Golden
 
WordPress Transients
WordPress TransientsWordPress Transients
WordPress TransientsTammy Hart
 
Gta v savegame
Gta v savegameGta v savegame
Gta v savegamehozayfa999
 
Advanced php testing in action
Advanced php testing in actionAdvanced php testing in action
Advanced php testing in actionJace Ju
 
Intro to advanced caching in WordPress
Intro to advanced caching in WordPressIntro to advanced caching in WordPress
Intro to advanced caching in WordPressMaor Chasen
 
PHP tips and tricks
PHP tips and tricks PHP tips and tricks
PHP tips and tricks Damien Seguy
 
Redis for your boss 2.0
Redis for your boss 2.0Redis for your boss 2.0
Redis for your boss 2.0Elena Kolevska
 
The History of PHPersistence
The History of PHPersistenceThe History of PHPersistence
The History of PHPersistenceHugo Hamon
 
Introduction à CoffeeScript pour ParisRB
Introduction à CoffeeScript pour ParisRB Introduction à CoffeeScript pour ParisRB
Introduction à CoffeeScript pour ParisRB jhchabran
 
購物車程式架構簡介
購物車程式架構簡介購物車程式架構簡介
購物車程式架構簡介Jace Ju
 
PHP 5.3 and Lithium: the most rad php framework
PHP 5.3 and Lithium: the most rad php frameworkPHP 5.3 and Lithium: the most rad php framework
PHP 5.3 and Lithium: the most rad php frameworkG Woo
 
Everything About PowerShell
Everything About PowerShellEverything About PowerShell
Everything About PowerShellGaetano Causio
 
Database Design Patterns
Database Design PatternsDatabase Design Patterns
Database Design PatternsHugo Hamon
 

Was ist angesagt? (20)

Zendcon 2007 Api Design
Zendcon 2007 Api DesignZendcon 2007 Api Design
Zendcon 2007 Api Design
 
Corephpcomponentpresentation 1211425966721657-8
Corephpcomponentpresentation 1211425966721657-8Corephpcomponentpresentation 1211425966721657-8
Corephpcomponentpresentation 1211425966721657-8
 
MongoDB .local Paris 2020: La puissance du Pipeline d'Agrégation de MongoDB
MongoDB .local Paris 2020: La puissance du Pipeline d'Agrégation de MongoDBMongoDB .local Paris 2020: La puissance du Pipeline d'Agrégation de MongoDB
MongoDB .local Paris 2020: La puissance du Pipeline d'Agrégation de MongoDB
 
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
 
From mysql to MongoDB(MongoDB2011北京交流会)
From mysql to MongoDB(MongoDB2011北京交流会)From mysql to MongoDB(MongoDB2011北京交流会)
From mysql to MongoDB(MongoDB2011北京交流会)
 
[WLDN] Supercharging word press development in 2018
[WLDN] Supercharging word press development in 2018[WLDN] Supercharging word press development in 2018
[WLDN] Supercharging word press development in 2018
 
Adventures in Optimization
Adventures in OptimizationAdventures in Optimization
Adventures in Optimization
 
WordPress Transients
WordPress TransientsWordPress Transients
WordPress Transients
 
Gta v savegame
Gta v savegameGta v savegame
Gta v savegame
 
Advanced php testing in action
Advanced php testing in actionAdvanced php testing in action
Advanced php testing in action
 
Intro to advanced caching in WordPress
Intro to advanced caching in WordPressIntro to advanced caching in WordPress
Intro to advanced caching in WordPress
 
PHP tips and tricks
PHP tips and tricks PHP tips and tricks
PHP tips and tricks
 
Redis for your boss 2.0
Redis for your boss 2.0Redis for your boss 2.0
Redis for your boss 2.0
 
The History of PHPersistence
The History of PHPersistenceThe History of PHPersistence
The History of PHPersistence
 
Introduction à CoffeeScript pour ParisRB
Introduction à CoffeeScript pour ParisRB Introduction à CoffeeScript pour ParisRB
Introduction à CoffeeScript pour ParisRB
 
購物車程式架構簡介
購物車程式架構簡介購物車程式架構簡介
購物車程式架構簡介
 
PHP 5.3 and Lithium: the most rad php framework
PHP 5.3 and Lithium: the most rad php frameworkPHP 5.3 and Lithium: the most rad php framework
PHP 5.3 and Lithium: the most rad php framework
 
Redis for your boss
Redis for your bossRedis for your boss
Redis for your boss
 
Everything About PowerShell
Everything About PowerShellEverything About PowerShell
Everything About PowerShell
 
Database Design Patterns
Database Design PatternsDatabase Design Patterns
Database Design Patterns
 

Andere mochten auch

Death to Boring B2B Marketing: How Applying Design Thinking Drives Success
Death to Boring B2B Marketing: How Applying Design Thinking Drives SuccessDeath to Boring B2B Marketing: How Applying Design Thinking Drives Success
Death to Boring B2B Marketing: How Applying Design Thinking Drives SuccessCliff Seal
 
Day 2 Recap from #CannesLions #OgilvyCannes
Day 2 Recap from #CannesLions #OgilvyCannes Day 2 Recap from #CannesLions #OgilvyCannes
Day 2 Recap from #CannesLions #OgilvyCannes Ogilvy
 
No one cares about your content (yet): WordCamp Charleston 2014
No one cares about your content (yet): WordCamp Charleston 2014No one cares about your content (yet): WordCamp Charleston 2014
No one cares about your content (yet): WordCamp Charleston 2014Cliff Seal
 
People Over Pixels: Meaningful UX That Scales
People Over Pixels: Meaningful UX That ScalesPeople Over Pixels: Meaningful UX That Scales
People Over Pixels: Meaningful UX That ScalesCliff Seal
 
DIY WordPress Site Management: Configure, Launch, and Maintain
DIY WordPress Site Management: Configure, Launch, and MaintainDIY WordPress Site Management: Configure, Launch, and Maintain
DIY WordPress Site Management: Configure, Launch, and MaintainCliff Seal
 
Friendlier, Safer WordPress Admin Areas
Friendlier, Safer WordPress Admin AreasFriendlier, Safer WordPress Admin Areas
Friendlier, Safer WordPress Admin AreasCliff Seal
 
Usability, Groupthink, and Authority
Usability, Groupthink, and AuthorityUsability, Groupthink, and Authority
Usability, Groupthink, and AuthorityCliff Seal
 
Hannah Smith_Throwing Sh*t against the wall
Hannah Smith_Throwing Sh*t against the wallHannah Smith_Throwing Sh*t against the wall
Hannah Smith_Throwing Sh*t against the wallDistilled
 
The Chief- Grant Weigel
The Chief- Grant WeigelThe Chief- Grant Weigel
The Chief- Grant Weigelaljr497
 
The Sadist- Shannon
The Sadist- ShannonThe Sadist- Shannon
The Sadist- Shannonaljr497
 
Grafico diario del dax perfomance index para el 11 06-2013
Grafico diario del dax perfomance index para el 11 06-2013Grafico diario del dax perfomance index para el 11 06-2013
Grafico diario del dax perfomance index para el 11 06-2013Experiencia Trading
 
旅遊換桌論壇 - Verna - 有任務的旅行
旅遊換桌論壇 - Verna - 有任務的旅行旅遊換桌論壇 - Verna - 有任務的旅行
旅遊換桌論壇 - Verna - 有任務的旅行交點
 
Mt daily morning update 30th mar 2012
Mt daily morning update 30th mar 2012Mt daily morning update 30th mar 2012
Mt daily morning update 30th mar 2012Preeti Mishra
 
Evaluation question 1 continued media bloggg!
Evaluation question 1 continued media bloggg!Evaluation question 1 continued media bloggg!
Evaluation question 1 continued media bloggg!charlotteallen0411
 
Community Career Center: Use Google Chrome Like A Pro
Community Career Center: Use Google Chrome Like A ProCommunity Career Center: Use Google Chrome Like A Pro
Community Career Center: Use Google Chrome Like A ProKeitaro Matsuoka
 
Hundertwasser 1302740741923-phpapp02
Hundertwasser 1302740741923-phpapp02Hundertwasser 1302740741923-phpapp02
Hundertwasser 1302740741923-phpapp02pferruz
 

Andere mochten auch (20)

Death to Boring B2B Marketing: How Applying Design Thinking Drives Success
Death to Boring B2B Marketing: How Applying Design Thinking Drives SuccessDeath to Boring B2B Marketing: How Applying Design Thinking Drives Success
Death to Boring B2B Marketing: How Applying Design Thinking Drives Success
 
Day 2 Recap from #CannesLions #OgilvyCannes
Day 2 Recap from #CannesLions #OgilvyCannes Day 2 Recap from #CannesLions #OgilvyCannes
Day 2 Recap from #CannesLions #OgilvyCannes
 
No one cares about your content (yet): WordCamp Charleston 2014
No one cares about your content (yet): WordCamp Charleston 2014No one cares about your content (yet): WordCamp Charleston 2014
No one cares about your content (yet): WordCamp Charleston 2014
 
People Over Pixels: Meaningful UX That Scales
People Over Pixels: Meaningful UX That ScalesPeople Over Pixels: Meaningful UX That Scales
People Over Pixels: Meaningful UX That Scales
 
DIY WordPress Site Management: Configure, Launch, and Maintain
DIY WordPress Site Management: Configure, Launch, and MaintainDIY WordPress Site Management: Configure, Launch, and Maintain
DIY WordPress Site Management: Configure, Launch, and Maintain
 
Friendlier, Safer WordPress Admin Areas
Friendlier, Safer WordPress Admin AreasFriendlier, Safer WordPress Admin Areas
Friendlier, Safer WordPress Admin Areas
 
Usability, Groupthink, and Authority
Usability, Groupthink, and AuthorityUsability, Groupthink, and Authority
Usability, Groupthink, and Authority
 
Hannah Smith_Throwing Sh*t against the wall
Hannah Smith_Throwing Sh*t against the wallHannah Smith_Throwing Sh*t against the wall
Hannah Smith_Throwing Sh*t against the wall
 
The Chief- Grant Weigel
The Chief- Grant WeigelThe Chief- Grant Weigel
The Chief- Grant Weigel
 
Presentations Tips
Presentations TipsPresentations Tips
Presentations Tips
 
The Sadist- Shannon
The Sadist- ShannonThe Sadist- Shannon
The Sadist- Shannon
 
Grafico diario del dax perfomance index para el 11 06-2013
Grafico diario del dax perfomance index para el 11 06-2013Grafico diario del dax perfomance index para el 11 06-2013
Grafico diario del dax perfomance index para el 11 06-2013
 
旅遊換桌論壇 - Verna - 有任務的旅行
旅遊換桌論壇 - Verna - 有任務的旅行旅遊換桌論壇 - Verna - 有任務的旅行
旅遊換桌論壇 - Verna - 有任務的旅行
 
Symmetrical smudges
Symmetrical smudges Symmetrical smudges
Symmetrical smudges
 
Mt daily morning update 30th mar 2012
Mt daily morning update 30th mar 2012Mt daily morning update 30th mar 2012
Mt daily morning update 30th mar 2012
 
Evaluation question 1 continued media bloggg!
Evaluation question 1 continued media bloggg!Evaluation question 1 continued media bloggg!
Evaluation question 1 continued media bloggg!
 
Go Apple
Go AppleGo Apple
Go Apple
 
Community Career Center: Use Google Chrome Like A Pro
Community Career Center: Use Google Chrome Like A ProCommunity Career Center: Use Google Chrome Like A Pro
Community Career Center: Use Google Chrome Like A Pro
 
Neural Network on Akka
Neural Network on AkkaNeural Network on Akka
Neural Network on Akka
 
Hundertwasser 1302740741923-phpapp02
Hundertwasser 1302740741923-phpapp02Hundertwasser 1302740741923-phpapp02
Hundertwasser 1302740741923-phpapp02
 

Ähnlich wie Temporary Cache Assistance (Transients API): WordCamp Birmingham 2014

Virtual Madness @ Etsy
Virtual Madness @ EtsyVirtual Madness @ Etsy
Virtual Madness @ EtsyNishan Subedi
 
DrupalCamp Foz - Novas APIs Drupal 7
DrupalCamp Foz - Novas APIs Drupal 7DrupalCamp Foz - Novas APIs Drupal 7
DrupalCamp Foz - Novas APIs Drupal 7chuvainc
 
WordCamp San Francisco 2011: Transients, Caching, and the Complexities of Mul...
WordCamp San Francisco 2011: Transients, Caching, and the Complexities of Mul...WordCamp San Francisco 2011: Transients, Caching, and the Complexities of Mul...
WordCamp San Francisco 2011: Transients, Caching, and the Complexities of Mul...andrewnacin
 
Bag Of Tricks From Iusethis
Bag Of Tricks From IusethisBag Of Tricks From Iusethis
Bag Of Tricks From IusethisMarcus Ramberg
 
Php tips-and-tricks4128
Php tips-and-tricks4128Php tips-and-tricks4128
Php tips-and-tricks4128PrinceGuru MS
 
You Don't Know Query - WordCamp Portland 2011
You Don't Know Query - WordCamp Portland 2011You Don't Know Query - WordCamp Portland 2011
You Don't Know Query - WordCamp Portland 2011andrewnacin
 
Can't Miss Features of PHP 5.3 and 5.4
Can't Miss Features of PHP 5.3 and 5.4Can't Miss Features of PHP 5.3 and 5.4
Can't Miss Features of PHP 5.3 and 5.4Jeff Carouth
 
Unit testing with zend framework tek11
Unit testing with zend framework tek11Unit testing with zend framework tek11
Unit testing with zend framework tek11Michelangelo van Dam
 
Unit testing with zend framework PHPBenelux
Unit testing with zend framework PHPBeneluxUnit testing with zend framework PHPBenelux
Unit testing with zend framework PHPBeneluxMichelangelo van Dam
 
WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress
WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress
WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress WordCamp Kyiv
 
Rich domain model with symfony 2.5 and doctrine 2.5
Rich domain model with symfony 2.5 and doctrine 2.5Rich domain model with symfony 2.5 and doctrine 2.5
Rich domain model with symfony 2.5 and doctrine 2.5Leonardo Proietti
 
You don’t know query - WordCamp UK Edinburgh 2012
You don’t know query - WordCamp UK Edinburgh 2012You don’t know query - WordCamp UK Edinburgh 2012
You don’t know query - WordCamp UK Edinburgh 2012l3rady
 
Nickolay Shmalenuk.Render api eng.DrupalCamp Kyiv 2011
Nickolay Shmalenuk.Render api eng.DrupalCamp Kyiv 2011Nickolay Shmalenuk.Render api eng.DrupalCamp Kyiv 2011
Nickolay Shmalenuk.Render api eng.DrupalCamp Kyiv 2011camp_drupal_ua
 
The Zen of Lithium
The Zen of LithiumThe Zen of Lithium
The Zen of LithiumNate Abele
 
You Don't Know Query (WordCamp Netherlands 2012)
You Don't Know Query (WordCamp Netherlands 2012)You Don't Know Query (WordCamp Netherlands 2012)
You Don't Know Query (WordCamp Netherlands 2012)andrewnacin
 
Dependency Injection
Dependency InjectionDependency Injection
Dependency InjectionRifat Nabi
 
Lazy evaluation drupal camp moscow 2014
Lazy evaluation drupal camp moscow 2014Lazy evaluation drupal camp moscow 2014
Lazy evaluation drupal camp moscow 2014Evgeny Nikitin
 
第49回Php勉強会@関東 Datasource
第49回Php勉強会@関東 Datasource第49回Php勉強会@関東 Datasource
第49回Php勉強会@関東 DatasourceKaz Watanabe
 

Ähnlich wie Temporary Cache Assistance (Transients API): WordCamp Birmingham 2014 (20)

Virtual Madness @ Etsy
Virtual Madness @ EtsyVirtual Madness @ Etsy
Virtual Madness @ Etsy
 
Wp query
Wp queryWp query
Wp query
 
DrupalCamp Foz - Novas APIs Drupal 7
DrupalCamp Foz - Novas APIs Drupal 7DrupalCamp Foz - Novas APIs Drupal 7
DrupalCamp Foz - Novas APIs Drupal 7
 
WordCamp San Francisco 2011: Transients, Caching, and the Complexities of Mul...
WordCamp San Francisco 2011: Transients, Caching, and the Complexities of Mul...WordCamp San Francisco 2011: Transients, Caching, and the Complexities of Mul...
WordCamp San Francisco 2011: Transients, Caching, and the Complexities of Mul...
 
Bag Of Tricks From Iusethis
Bag Of Tricks From IusethisBag Of Tricks From Iusethis
Bag Of Tricks From Iusethis
 
Php tips-and-tricks4128
Php tips-and-tricks4128Php tips-and-tricks4128
Php tips-and-tricks4128
 
You Don't Know Query - WordCamp Portland 2011
You Don't Know Query - WordCamp Portland 2011You Don't Know Query - WordCamp Portland 2011
You Don't Know Query - WordCamp Portland 2011
 
Can't Miss Features of PHP 5.3 and 5.4
Can't Miss Features of PHP 5.3 and 5.4Can't Miss Features of PHP 5.3 and 5.4
Can't Miss Features of PHP 5.3 and 5.4
 
Unit testing zend framework apps
Unit testing zend framework appsUnit testing zend framework apps
Unit testing zend framework apps
 
Unit testing with zend framework tek11
Unit testing with zend framework tek11Unit testing with zend framework tek11
Unit testing with zend framework tek11
 
Unit testing with zend framework PHPBenelux
Unit testing with zend framework PHPBeneluxUnit testing with zend framework PHPBenelux
Unit testing with zend framework PHPBenelux
 
WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress
WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress
WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress
 
Rich domain model with symfony 2.5 and doctrine 2.5
Rich domain model with symfony 2.5 and doctrine 2.5Rich domain model with symfony 2.5 and doctrine 2.5
Rich domain model with symfony 2.5 and doctrine 2.5
 
You don’t know query - WordCamp UK Edinburgh 2012
You don’t know query - WordCamp UK Edinburgh 2012You don’t know query - WordCamp UK Edinburgh 2012
You don’t know query - WordCamp UK Edinburgh 2012
 
Nickolay Shmalenuk.Render api eng.DrupalCamp Kyiv 2011
Nickolay Shmalenuk.Render api eng.DrupalCamp Kyiv 2011Nickolay Shmalenuk.Render api eng.DrupalCamp Kyiv 2011
Nickolay Shmalenuk.Render api eng.DrupalCamp Kyiv 2011
 
The Zen of Lithium
The Zen of LithiumThe Zen of Lithium
The Zen of Lithium
 
You Don't Know Query (WordCamp Netherlands 2012)
You Don't Know Query (WordCamp Netherlands 2012)You Don't Know Query (WordCamp Netherlands 2012)
You Don't Know Query (WordCamp Netherlands 2012)
 
Dependency Injection
Dependency InjectionDependency Injection
Dependency Injection
 
Lazy evaluation drupal camp moscow 2014
Lazy evaluation drupal camp moscow 2014Lazy evaluation drupal camp moscow 2014
Lazy evaluation drupal camp moscow 2014
 
第49回Php勉強会@関東 Datasource
第49回Php勉強会@関東 Datasource第49回Php勉強会@関東 Datasource
第49回Php勉強会@関東 Datasource
 

Mehr von Cliff Seal

Trust in the Future
Trust in the FutureTrust in the Future
Trust in the FutureCliff Seal
 
Building Advocates with World-Class Customer Experiences
Building Advocates with World-Class Customer ExperiencesBuilding Advocates with World-Class Customer Experiences
Building Advocates with World-Class Customer ExperiencesCliff Seal
 
Mastering B2B Email
Mastering B2B EmailMastering B2B Email
Mastering B2B EmailCliff Seal
 
Death to Boring B2B Marketing, Part 2: Jobs-to-Be-Done
Death to Boring B2B Marketing, Part 2: Jobs-to-Be-DoneDeath to Boring B2B Marketing, Part 2: Jobs-to-Be-Done
Death to Boring B2B Marketing, Part 2: Jobs-to-Be-DoneCliff Seal
 
Inviting Experimentation by Design
Inviting Experimentation by DesignInviting Experimentation by Design
Inviting Experimentation by DesignCliff Seal
 
Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)
Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)
Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)Cliff Seal
 
Meaningful UX At Any Scale
Meaningful UX At Any ScaleMeaningful UX At Any Scale
Meaningful UX At Any ScaleCliff Seal
 
Get Started in Professional WordPress Design & Development
Get Started in Professional WordPress Design & DevelopmentGet Started in Professional WordPress Design & Development
Get Started in Professional WordPress Design & DevelopmentCliff Seal
 
No One Cares About Your Content (Yet): WordCamp Chicago 2013
No One Cares About Your Content (Yet): WordCamp Chicago 2013No One Cares About Your Content (Yet): WordCamp Chicago 2013
No One Cares About Your Content (Yet): WordCamp Chicago 2013Cliff Seal
 
No One Cares About Your Content (Yet): WordCamp Miami 2013
No One Cares About Your Content (Yet): WordCamp Miami 2013No One Cares About Your Content (Yet): WordCamp Miami 2013
No One Cares About Your Content (Yet): WordCamp Miami 2013Cliff Seal
 
A Brief History of Metal
A Brief History of MetalA Brief History of Metal
A Brief History of MetalCliff Seal
 
No One Cares About Your Content (Yet): WordCamp Phoenix 2013
No One Cares About Your Content (Yet): WordCamp Phoenix 2013No One Cares About Your Content (Yet): WordCamp Phoenix 2013
No One Cares About Your Content (Yet): WordCamp Phoenix 2013Cliff Seal
 
WordPress and Pardot: The World’s Newest Power Couple
WordPress and Pardot: The World’s Newest Power CoupleWordPress and Pardot: The World’s Newest Power Couple
WordPress and Pardot: The World’s Newest Power CoupleCliff Seal
 
No One Cares About Your Content (Yet): Digital Atlanta 2012
No One Cares About Your Content (Yet): Digital Atlanta 2012No One Cares About Your Content (Yet): Digital Atlanta 2012
No One Cares About Your Content (Yet): Digital Atlanta 2012Cliff Seal
 
Empowering Non-Profits with WordPress
Empowering Non-Profits with WordPressEmpowering Non-Profits with WordPress
Empowering Non-Profits with WordPressCliff Seal
 

Mehr von Cliff Seal (15)

Trust in the Future
Trust in the FutureTrust in the Future
Trust in the Future
 
Building Advocates with World-Class Customer Experiences
Building Advocates with World-Class Customer ExperiencesBuilding Advocates with World-Class Customer Experiences
Building Advocates with World-Class Customer Experiences
 
Mastering B2B Email
Mastering B2B EmailMastering B2B Email
Mastering B2B Email
 
Death to Boring B2B Marketing, Part 2: Jobs-to-Be-Done
Death to Boring B2B Marketing, Part 2: Jobs-to-Be-DoneDeath to Boring B2B Marketing, Part 2: Jobs-to-Be-Done
Death to Boring B2B Marketing, Part 2: Jobs-to-Be-Done
 
Inviting Experimentation by Design
Inviting Experimentation by DesignInviting Experimentation by Design
Inviting Experimentation by Design
 
Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)
Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)
Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)
 
Meaningful UX At Any Scale
Meaningful UX At Any ScaleMeaningful UX At Any Scale
Meaningful UX At Any Scale
 
Get Started in Professional WordPress Design & Development
Get Started in Professional WordPress Design & DevelopmentGet Started in Professional WordPress Design & Development
Get Started in Professional WordPress Design & Development
 
No One Cares About Your Content (Yet): WordCamp Chicago 2013
No One Cares About Your Content (Yet): WordCamp Chicago 2013No One Cares About Your Content (Yet): WordCamp Chicago 2013
No One Cares About Your Content (Yet): WordCamp Chicago 2013
 
No One Cares About Your Content (Yet): WordCamp Miami 2013
No One Cares About Your Content (Yet): WordCamp Miami 2013No One Cares About Your Content (Yet): WordCamp Miami 2013
No One Cares About Your Content (Yet): WordCamp Miami 2013
 
A Brief History of Metal
A Brief History of MetalA Brief History of Metal
A Brief History of Metal
 
No One Cares About Your Content (Yet): WordCamp Phoenix 2013
No One Cares About Your Content (Yet): WordCamp Phoenix 2013No One Cares About Your Content (Yet): WordCamp Phoenix 2013
No One Cares About Your Content (Yet): WordCamp Phoenix 2013
 
WordPress and Pardot: The World’s Newest Power Couple
WordPress and Pardot: The World’s Newest Power CoupleWordPress and Pardot: The World’s Newest Power Couple
WordPress and Pardot: The World’s Newest Power Couple
 
No One Cares About Your Content (Yet): Digital Atlanta 2012
No One Cares About Your Content (Yet): Digital Atlanta 2012No One Cares About Your Content (Yet): Digital Atlanta 2012
No One Cares About Your Content (Yet): Digital Atlanta 2012
 
Empowering Non-Profits with WordPress
Empowering Non-Profits with WordPressEmpowering Non-Profits with WordPress
Empowering Non-Profits with WordPress
 

Temporary Cache Assistance (Transients API): WordCamp Birmingham 2014