SlideShare a Scribd company logo
1 of 49
Download to read offline
temporary cache assistance:

transients
@cliffseal
LogosCreative.co/

wcphx14
LOL WUTAPI?
is the 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.
thetransientsAPI

Tweets

Friends

Scrobbles

Options API: Username, URL, ID

externalAPIs
thetransientsAPI

Tag Cloud

Ratings

Custom Queries

expensivequeries
3

mainfunctions
mainfunctions

set_transient(
$transient,
$value,
$expiration
);

set_transient
mainfunctions

$transient
✓

(string) a unique identifier for your cached data

✓

45 characters or less in length

✓

For site transients, 40 characters or less in length

set_transientargs
mainfunctions

$value
✓

(array|object) Data to save, either a regular variable or an
array/object

✓

Handles serialization of complex data for you

set_transientargs
mainfunctions

$expiration
✓

(integer) number of seconds to keep the data before
refreshing

✓

Example: 60*60*24 or 86400 (24 hours)

set_transientargs
mainfunctions

MINUTE_IN_SECONDS
HOUR_IN_SECONDS
DAY_IN_SECONDS
WEEK_IN_SECONDS
YEAR_IN_SECONDS

=
=
=
=
=

60 (seconds)
60 * MINUTE_IN_SECONDS
24 * HOUR_IN_SECONDS
7 * DAY_IN_SECONDS
365 * DAY_IN_SECONDS

timeconstants
mainfunctions

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

get_transient
mainfunctions

delete_transient($transient);

delete_transient
mainfunctions

set_site_transient();
get_site_transient();
delete_site_transient();
These work ‘network wide’.

wpmultisite
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
Once a transient expires, it remains so until the new result is saved.
Heavy traffic can mean too many concurrent MySQL connections.
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.
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 nontransient 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
usefultools

TLC Transients
Supports softexpiration,
background updating

Debug Bar Transients
Adds panel to Debug
Bar with transient info

Artiss Transient Cleaner
Deletes expired
transients and optimizes
table
?

questions
@cliffseal
LogosCreative.co/

wcphx14

More Related Content

What's hot

Command Bus To Awesome Town
Command Bus To Awesome TownCommand Bus To Awesome Town
Command Bus To Awesome TownRoss Tuck
 
A Functional Guide to Cat Herding with PHP Generators
A Functional Guide to Cat Herding with PHP GeneratorsA Functional Guide to Cat Herding with PHP Generators
A Functional Guide to Cat Herding with PHP GeneratorsMark Baker
 
[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
 
Things I Believe Now That I'm Old
Things I Believe Now That I'm OldThings I Believe Now That I'm Old
Things I Believe Now That I'm OldRoss Tuck
 
Redis for your boss 2.0
Redis for your boss 2.0Redis for your boss 2.0
Redis for your boss 2.0Elena Kolevska
 
Gta v savegame
Gta v savegameGta v savegame
Gta v savegamehozayfa999
 
Intro to advanced caching in WordPress
Intro to advanced caching in WordPressIntro to advanced caching in WordPress
Intro to advanced caching in WordPressMaor Chasen
 
Adventures in Optimization
Adventures in OptimizationAdventures in Optimization
Adventures in OptimizationDavid Golden
 
The History of PHPersistence
The History of PHPersistenceThe History of PHPersistence
The History of PHPersistenceHugo Hamon
 
PHP tips and tricks
PHP tips and tricks PHP tips and tricks
PHP tips and tricks Damien Seguy
 
Introduction à CoffeeScript pour ParisRB
Introduction à CoffeeScript pour ParisRB Introduction à CoffeeScript pour ParisRB
Introduction à CoffeeScript pour ParisRB jhchabran
 
Database Design Patterns
Database Design PatternsDatabase Design Patterns
Database Design PatternsHugo Hamon
 
Everything About PowerShell
Everything About PowerShellEverything About PowerShell
Everything About PowerShellGaetano Causio
 
Service discovery and configuration provisioning
Service discovery and configuration provisioningService discovery and configuration provisioning
Service discovery and configuration provisioningSource Ministry
 
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
 
Caching and tuning fun for high scalability @ LOAD2012
Caching and tuning fun for high scalability @ LOAD2012Caching and tuning fun for high scalability @ LOAD2012
Caching and tuning fun for high scalability @ LOAD2012Wim Godden
 
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
 

What's hot (20)

Command Bus To Awesome Town
Command Bus To Awesome TownCommand Bus To Awesome Town
Command Bus To Awesome Town
 
A Functional Guide to Cat Herding with PHP Generators
A Functional Guide to Cat Herding with PHP GeneratorsA Functional Guide to Cat Herding with PHP Generators
A Functional Guide to Cat Herding with PHP Generators
 
[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
 
Perl object ?
Perl object ?Perl object ?
Perl object ?
 
Things I Believe Now That I'm Old
Things I Believe Now That I'm OldThings I Believe Now That I'm Old
Things I Believe Now That I'm Old
 
Redis for your boss 2.0
Redis for your boss 2.0Redis for your boss 2.0
Redis for your boss 2.0
 
Redis for your boss
Redis for your bossRedis for your boss
Redis for your boss
 
Gta v savegame
Gta v savegameGta v savegame
Gta v savegame
 
Intro to advanced caching in WordPress
Intro to advanced caching in WordPressIntro to advanced caching in WordPress
Intro to advanced caching in WordPress
 
Adventures in Optimization
Adventures in OptimizationAdventures in Optimization
Adventures in Optimization
 
The History of PHPersistence
The History of PHPersistenceThe History of PHPersistence
The History of PHPersistence
 
PHP tips and tricks
PHP tips and tricks PHP tips and tricks
PHP tips and tricks
 
Introduction à CoffeeScript pour ParisRB
Introduction à CoffeeScript pour ParisRB Introduction à CoffeeScript pour ParisRB
Introduction à CoffeeScript pour ParisRB
 
Database Design Patterns
Database Design PatternsDatabase Design Patterns
Database Design Patterns
 
Everything About PowerShell
Everything About PowerShellEverything About PowerShell
Everything About PowerShell
 
Service discovery and configuration provisioning
Service discovery and configuration provisioningService discovery and configuration provisioning
Service discovery and configuration provisioning
 
MySQL under the siege
MySQL under the siegeMySQL under the siege
MySQL under the siege
 
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
 
Caching and tuning fun for high scalability @ LOAD2012
Caching and tuning fun for high scalability @ LOAD2012Caching and tuning fun for high scalability @ LOAD2012
Caching and tuning fun for high scalability @ LOAD2012
 
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
 

Viewers also liked

Building Knowledge Graphs in DIG
Building Knowledge Graphs in DIGBuilding Knowledge Graphs in DIG
Building Knowledge Graphs in DIGPalak Modi
 
The Leslie F. Schwartz Pancreatic Cancer Research Foundation
The Leslie F. Schwartz Pancreatic Cancer Research FoundationThe Leslie F. Schwartz Pancreatic Cancer Research Foundation
The Leslie F. Schwartz Pancreatic Cancer Research FoundationRobert Schwartz
 
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
 
Hong kong 101011
Hong kong 101011Hong kong 101011
Hong kong 101011gaabba2000
 
Indian spirituality
Indian spiritualityIndian spirituality
Indian spiritualitygaabba2000
 
Каст самомотивации. Моя первая презентация. ЗОЖ.
Каст самомотивации. Моя первая презентация. ЗОЖ.Каст самомотивации. Моя первая презентация. ЗОЖ.
Каст самомотивации. Моя первая презентация. ЗОЖ.Alexander Monchenko
 
01 manajemen-personalia1
01 manajemen-personalia101 manajemen-personalia1
01 manajemen-personalia1STEVENZ Huang
 
นำเสนอ23สิงหาคม
นำเสนอ23สิงหาคมนำเสนอ23สิงหาคม
นำเสนอ23สิงหาคมAtima Teraksee
 
Teacher Alana - Trial
Teacher Alana - TrialTeacher Alana - Trial
Teacher Alana - TrialAlana_Naylor
 

Viewers also liked (20)

Building Knowledge Graphs in DIG
Building Knowledge Graphs in DIGBuilding Knowledge Graphs in DIG
Building Knowledge Graphs in DIG
 
The Leslie F. Schwartz Pancreatic Cancer Research Foundation
The Leslie F. Schwartz Pancreatic Cancer Research FoundationThe Leslie F. Schwartz Pancreatic Cancer Research Foundation
The Leslie F. Schwartz Pancreatic Cancer Research Foundation
 
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
 
น้ำ22
น้ำ22น้ำ22
น้ำ22
 
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
 
ScoponCredit - Introductie
ScoponCredit - IntroductieScoponCredit - Introductie
ScoponCredit - Introductie
 
Błędy Ex Post
Błędy Ex PostBłędy Ex Post
Błędy Ex Post
 
Hong kong 101011
Hong kong 101011Hong kong 101011
Hong kong 101011
 
Diseño y análisis de cargos
Diseño y análisis de cargosDiseño y análisis de cargos
Diseño y análisis de cargos
 
Indian spirituality
Indian spiritualityIndian spirituality
Indian spirituality
 
Model liniowy Holta
Model liniowy HoltaModel liniowy Holta
Model liniowy Holta
 
Каст самомотивации. Моя первая презентация. ЗОЖ.
Каст самомотивации. Моя первая презентация. ЗОЖ.Каст самомотивации. Моя первая презентация. ЗОЖ.
Каст самомотивации. Моя первая презентация. ЗОЖ.
 
01 manajemen-personalia1
01 manajemen-personalia101 manajemen-personalia1
01 manajemen-personalia1
 
Parallelism
ParallelismParallelism
Parallelism
 
Bài 11
Bài 11Bài 11
Bài 11
 
นำเสนอ23สิงหาคม
นำเสนอ23สิงหาคมนำเสนอ23สิงหาคม
นำเสนอ23สิงหาคม
 
Scopon Finance Products presentatie
Scopon Finance Products presentatieScopon Finance Products presentatie
Scopon Finance Products presentatie
 
Bài 11
Bài 11Bài 11
Bài 11
 
Teacher Alana - Trial
Teacher Alana - TrialTeacher Alana - Trial
Teacher Alana - Trial
 

Similar to Temporary Cache Assistance (Transients API): WordCamp Phoenix 2014

Bag Of Tricks From Iusethis
Bag Of Tricks From IusethisBag Of Tricks From Iusethis
Bag Of Tricks From IusethisMarcus Ramberg
 
Virtual Madness @ Etsy
Virtual Madness @ EtsyVirtual Madness @ Etsy
Virtual Madness @ EtsyNishan Subedi
 
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
 
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
 
WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress
WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress
WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress WordCamp Kyiv
 
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
 
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
 
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
 
Php tips-and-tricks4128
Php tips-and-tricks4128Php tips-and-tricks4128
Php tips-and-tricks4128PrinceGuru MS
 
Developing cacheable backend applications - Appdevcon 2019
Developing cacheable backend applications - Appdevcon 2019Developing cacheable backend applications - Appdevcon 2019
Developing cacheable backend applications - Appdevcon 2019Thijs Feryn
 
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
 
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
 
Apostrophe (improved Paris edition)
Apostrophe (improved Paris edition)Apostrophe (improved Paris edition)
Apostrophe (improved Paris edition)tompunk
 
WordPress Transients
WordPress TransientsWordPress Transients
WordPress TransientsTammy Hart
 

Similar to Temporary Cache Assistance (Transients API): WordCamp Phoenix 2014 (20)

Wp query
Wp queryWp query
Wp query
 
Bag Of Tricks From Iusethis
Bag Of Tricks From IusethisBag Of Tricks From Iusethis
Bag Of Tricks From Iusethis
 
Virtual Madness @ Etsy
Virtual Madness @ EtsyVirtual Madness @ Etsy
Virtual Madness @ Etsy
 
Unit testing zend framework apps
Unit testing zend framework appsUnit testing zend framework apps
Unit testing zend framework apps
 
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
 
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...
 
WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress
WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress
WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress
 
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
 
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)
 
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
 
Php tips-and-tricks4128
Php tips-and-tricks4128Php tips-and-tricks4128
Php tips-and-tricks4128
 
Developing cacheable backend applications - Appdevcon 2019
Developing cacheable backend applications - Appdevcon 2019Developing cacheable backend applications - Appdevcon 2019
Developing cacheable backend applications - Appdevcon 2019
 
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
 
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
 
Apostrophe (improved Paris edition)
Apostrophe (improved Paris edition)Apostrophe (improved Paris edition)
Apostrophe (improved Paris edition)
 
Zend framework service
Zend framework serviceZend framework service
Zend framework service
 
Zend framework service
Zend framework serviceZend framework service
Zend framework service
 
WordPress Transients
WordPress TransientsWordPress Transients
WordPress Transients
 

More from 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
 
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
 
Inviting Experimentation by Design
Inviting Experimentation by DesignInviting Experimentation by Design
Inviting Experimentation by DesignCliff Seal
 
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
 
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
 
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
 
Friendlier, Safer WordPress Admin Areas
Friendlier, Safer WordPress Admin AreasFriendlier, Safer WordPress Admin Areas
Friendlier, Safer WordPress Admin AreasCliff Seal
 
Meaningful UX At Any Scale
Meaningful UX At Any ScaleMeaningful UX At Any Scale
Meaningful UX At Any ScaleCliff Seal
 
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
 
Usability, Groupthink, and Authority
Usability, Groupthink, and AuthorityUsability, Groupthink, and Authority
Usability, Groupthink, and AuthorityCliff 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
 

More from Cliff Seal (18)

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
 
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
 
Inviting Experimentation by Design
Inviting Experimentation by DesignInviting Experimentation by Design
Inviting Experimentation by Design
 
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
 
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)
 
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
 
Friendlier, Safer WordPress Admin Areas
Friendlier, Safer WordPress Admin AreasFriendlier, Safer WordPress Admin Areas
Friendlier, Safer WordPress Admin Areas
 
Meaningful UX At Any Scale
Meaningful UX At Any ScaleMeaningful UX At Any Scale
Meaningful UX At Any Scale
 
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
 
Usability, Groupthink, and Authority
Usability, Groupthink, and AuthorityUsability, Groupthink, and Authority
Usability, Groupthink, and Authority
 
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
 

Recently uploaded

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 

Recently uploaded (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 

Temporary Cache Assistance (Transients API): WordCamp Phoenix 2014