SlideShare uma empresa Scribd logo
1 de 39
Waseem Asif
@folio_3 www.folio3.com Copyright 2015
 Introduction
 Typical Implementation
 Tools
◦ Memcache, Redis
◦ Varnish
◦ HTML 5
 Challenges
@folio_3 www.folio3.com Copyright 2015
 A cache is a component that transparently stores
data so that future requests for that data can be
served faster
 Speeds up the data lookups
 Wikipedia serves 75% content from Cache
@folio_3 www.folio3.com Copyright 2015
 Hardware
◦ CPU (L1, L2)
◦ HDD (Read/Write Buffers)
 Applications
 Database
 Proxies
 Web Servers
 Browsers
@folio_3 www.folio3.com Copyright 2015
@folio_3 www.folio3.com Copyright 2015
 Populating the cache
◦ Upfront Population
◦ Lazy Population
 Keeping the cache and source in sync
◦ Time based Expiry
◦ Active Expiry
◦ Write through Cache
 Managing cache size
◦ Removing data
@folio_3 www.folio3.com Copyright 2015
Upfront Population Lazy Population
 No one-off cache read
delay
 The initial build of the
cache takes time
 Data cached may not
be read at all
 First request is not
found in cache
 Only caches data that
is actually read
 Has no cache build
delay
@folio_3 www.folio3.com Copyright 2015
 Time Based Expiry
◦ Data is removed from cache after some time
◦ Most commonly used
◦ Short expiry time can be a problem
 Active Expiry
◦ Source tells cache to remove data when updated or
removed
 Write-through cache
◦ Allow read and write to cache
◦ Data is added/written to source when written to
cache
@folio_3 www.folio3.com Copyright 2015
 Cache storage is smaller then original data
 Have to manage space smartly
 To make space for new data:
◦ Time based eviction
◦ First in, first out (FIFO)
◦ Least accessed
◦ Least time between access
◦ Many others (http://en.wikipedia.org/wiki/Cache_algorithms#Examples)
@folio_3 www.folio3.com Copyright 2015
@folio_3 www.folio3.com Copyright 2015
@folio_3 www.folio3.com Copyright 2015
@folio_3 www.folio3.com Copyright 2015
 Application
◦ Objects
◦ Arrays / Query results
◦ String/HTML/ Full Page
 Database
◦ Query cache
 Web Server
◦ Static resources
◦ Full page cache
 Browser
◦ Headers
◦ HTML5
@folio_3 www.folio3.com Copyright 2015
@folio_3 www.folio3.com Copyright 2015
 It is Free & Open Source
 Distributed memory based cache
 Key value store
 Easy to deploy
 Client libraries available in most of the
languages
@folio_3 www.folio3.com Copyright 2015
 Since 2003
 Written in C
 Works on Linux, Windows
 Fast by default
 Security can be an issue
◦ Expose only to trusted network
◦ Optional authentication
@folio_3 www.folio3.com Copyright 2015
@folio_3 www.folio3.com Copyright 2015
@folio_3 www.folio3.com Copyright 2015
 Issues with large implementations.
◦ Large works are fine by default
 No communication between Servers
◦ No Data replication
 Capacity issue of single Server
 No warm-up on startup
 Solution
◦ Mick-Router
@folio_3 www.folio3.com Copyright 2015
 Tool by Facebook
 Provides failover, Load balance, warm-up
server, replication of server
 How it works:
◦ https://code.facebook.com/posts/29644273721
3493/introducing-mcrouter-a-memcached-
protocol-router-for-scaling-memcached-
deployments/
@folio_3 www.folio3.com Copyright 2015
@folio_3 www.folio3.com Copyright 2015
@folio_3 www.folio3.com Copyright 2015
@folio_3 www.folio3.com Copyright 2015
@folio_3 www.folio3.com Copyright 2015
 Key-value cache
 Optionally a permanent Store
◦ Snapshotting
◦ Log Based
 Support a lot of Data Structures.
◦ String, Lists (arrays), Sets (Unique), Hashes
(Objects), Sorted Sets, BitMaps, HyperLogLogs etc
◦ http://redis.io/topics/data-types-intro
 Lot more than just SET, GET and DEL
◦ Increment, Append, LPUSH, RPOP, LRANGE
◦ Pipelining (Send multiple commands in one go)
◦ http://redis.io/commands
@folio_3 www.folio3.com Copyright 2015
 Replication
 Client libraries available in most of the languages
◦ C, C#, PHP, Objective-C, Node.Js, Python, Ruby and more
◦ http://redis.io/clients
 Works on Windows
◦ Windows port developed/maintained by Microsoft Open
Tech group
 Available on cloud
◦ AWS, Morpheus, RedisToGo, RackSpace, Microsoft Azure
◦ Comes with a lot of preset like backup, monitoring, high
availability, ACL etc
◦ http://en.wikipedia.org/wiki/Redis#Cloud_deployment
@folio_3 www.folio3.com Copyright 2015
 Performance
◦ Has built-in benchmark, easy to run
◦ It is easy to run test and find out real picture
◦ http://redis.io/topics/benchmarks
 Since 2009
 Written in C
@folio_3 www.folio3.com Copyright 2015
Redis Memcached
 Stores data in a variety of
formats
 Complex to configure (Default
configuration can work)
 Pipelining! Multiple commands at
once
 Locking reads - will wait until
another process writes data to
the cache
 Mass insertion of data to prime a
cache
 Partitions data across multiple
redis instances
 Can back data to disk
 Pub/Sub feature
 Doesn't do anything
besides being an in-
memory key/value store
 Low complexity
 Simple to configure
 Few command macros
making it simple to
master
 Runs like a rock
 Many years in production
 Every programming
language has a
memcached library.
@folio_3 www.folio3.com Copyright 2015
 A lot of bench marks available
◦ http://oldblog.antirez.com/post/redis-
memcached-benchmark.html
◦ http://dormando.livejournal.com/525147.html
◦ http://oldblog.antirez.com/post/update-on-
memcached-redis-benchmark.html
@folio_3 www.folio3.com Copyright 2015
 NCache: Distributed Cache for .NET
 CouchDB: Can be used as replacement of
Memcache
 MemSQL: The Database for Speed, Scale &
Simplicity
 And a lot more
@folio_3 Copyright 2015www.folio3.com
@folio_3 Copyright 2015www.folio3.com
 Sits in front of web server(s)
@folio_3 Copyright 2015www.folio3.com
 Page cache
 Static File Cache
 Load Balancing
 Rewriting and redirecting URLs
 Varnish Configuration Language
◦ Powerful, Can manage rules, Modify headers
 Community/Enterprise Editions
 Becoming the default for specialized cloud
hosting
◦ WP, Magento, Joom, Drupal etc
@folio_3 Copyright 2015www.folio3.com
 ESI
◦ Useful for user customized dynamic content
◦ Help increase TTL for pages
◦ <esi:include src="/news/hot_news.html"/>
 Works for Windows via CYGWIN
◦ Can have IIS on backend
 Stores cache in memory or file
 Paid edition has admin interface
◦ Real-time Statistics
◦ Cache group management
◦ Invalidations of cache etc
@folio_3 Copyright 2015www.folio3.com
 LiteSpeed: Provides cache, replacement for
apache httpd, Load balancer etc
 Apache Httpd: Mod Cache, Mod Mem Cache
 Nginx Cache
@folio_3 Copyright 2015www.folio3.com
 If cached properly:
◦ Resources are not downloaded on next requests
 Set “Expires” Header for Static Resources
 “304 Not Modified” Requests
◦ Involves http round trip but file is not downloaded
@folio_3 Copyright 2015www.folio3.com
 Easy to implement
 Very effective
 Headers can be set on
◦ Application
◦ Web Server
@folio_3 Copyright 2015www.folio3.com
 Application Cache
◦ manifest="demo.appcache“
◦ Define files which are to be cached
 CACHE MANIFEST
 NETWORK: Not to be cached
 FALLBACK: If page not available then fallback to these
◦ http://diveintohtml5.info/offline.html
@folio_3 Copyright 2015www.folio3.com
 Which Data to Cache
◦ Can’t cache every thing
◦ Space is limited
 Expiry Time
◦ Have to be selective, too short or too long can be a problem
 Multiple Cache backend
◦ Use frame works so it is easy to Switch
 Full Page / Parts
◦ Based on needs and usage
 Logged/Logged Out Users
◦ ESI, Logged in user still has part which can be cached
 Removing Data form cache
◦ There must be a way to remove individual item
 Key Scheme
 Monitor Hit/Miss
@folio_3 Copyright 2015www.folio3.com

Mais conteúdo relacionado

Mais procurados

Cloud Hosting Services
Cloud Hosting ServicesCloud Hosting Services
Cloud Hosting ServicesHTS Hosting
 
IIS for Developers
IIS for DevelopersIIS for Developers
IIS for DevelopersIdo Flatow
 
High performance website
High performance websiteHigh performance website
High performance websiteChamnap Chhorn
 
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at ScaleJUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at ScaleC2B2 Consulting
 
Using html5 to build offline applications
Using html5 to build offline applicationsUsing html5 to build offline applications
Using html5 to build offline applicationsWoody Pewitt
 
Brocade AWS user group Sydney presentation
Brocade AWS user group Sydney presentationBrocade AWS user group Sydney presentation
Brocade AWS user group Sydney presentationPolarSeven Pty Ltd
 
MySQL Security in a Cloudy World
MySQL Security in a Cloudy WorldMySQL Security in a Cloudy World
MySQL Security in a Cloudy WorldDave Stokes
 
Super quick introduction to html5
Super quick introduction to html5Super quick introduction to html5
Super quick introduction to html5Woody Pewitt
 
Web performance across the HTTP to HTTPS transition
Web performance across the HTTP to HTTPS transitionWeb performance across the HTTP to HTTPS transition
Web performance across the HTTP to HTTPS transitionseanwalbran
 
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)Peter Lubbers
 
Content Access Control with Varnish Cache
Content Access Control with Varnish CacheContent Access Control with Varnish Cache
Content Access Control with Varnish CacheCarlos Abalde
 
Websockets at tossug
Websockets at tossugWebsockets at tossug
Websockets at tossugclkao
 
NOMAD ENTERPRISE & WAN CACHING APPLIANCES NETWORK OPTIMIZATION IN A CONFIGURA...
NOMAD ENTERPRISE & WAN CACHING APPLIANCES NETWORK OPTIMIZATION IN A CONFIGURA...NOMAD ENTERPRISE & WAN CACHING APPLIANCES NETWORK OPTIMIZATION IN A CONFIGURA...
NOMAD ENTERPRISE & WAN CACHING APPLIANCES NETWORK OPTIMIZATION IN A CONFIGURA...1E: Software Lifecycle Automation
 
Link Header-based Invalidation of Caches
Link Header-based Invalidation of CachesLink Header-based Invalidation of Caches
Link Header-based Invalidation of Cachesmikekelly
 
Magento caching
Magento cachingMagento caching
Magento cachingYireo
 

Mais procurados (20)

Cloud Hosting Services
Cloud Hosting ServicesCloud Hosting Services
Cloud Hosting Services
 
IIS for Developers
IIS for DevelopersIIS for Developers
IIS for Developers
 
High performance website
High performance websiteHigh performance website
High performance website
 
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at ScaleJUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
 
Using html5 to build offline applications
Using html5 to build offline applicationsUsing html5 to build offline applications
Using html5 to build offline applications
 
Caching 101
Caching 101Caching 101
Caching 101
 
Html5-Web-Storage
Html5-Web-StorageHtml5-Web-Storage
Html5-Web-Storage
 
Brocade AWS user group Sydney presentation
Brocade AWS user group Sydney presentationBrocade AWS user group Sydney presentation
Brocade AWS user group Sydney presentation
 
MySQL Security in a Cloudy World
MySQL Security in a Cloudy WorldMySQL Security in a Cloudy World
MySQL Security in a Cloudy World
 
Super quick introduction to html5
Super quick introduction to html5Super quick introduction to html5
Super quick introduction to html5
 
Web performance across the HTTP to HTTPS transition
Web performance across the HTTP to HTTPS transitionWeb performance across the HTTP to HTTPS transition
Web performance across the HTTP to HTTPS transition
 
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
 
ColdFusion in Transit action
ColdFusion in Transit actionColdFusion in Transit action
ColdFusion in Transit action
 
Content Access Control with Varnish Cache
Content Access Control with Varnish CacheContent Access Control with Varnish Cache
Content Access Control with Varnish Cache
 
Understanding IIS
Understanding IISUnderstanding IIS
Understanding IIS
 
Websockets at tossug
Websockets at tossugWebsockets at tossug
Websockets at tossug
 
NOMAD ENTERPRISE & WAN CACHING APPLIANCES NETWORK OPTIMIZATION IN A CONFIGURA...
NOMAD ENTERPRISE & WAN CACHING APPLIANCES NETWORK OPTIMIZATION IN A CONFIGURA...NOMAD ENTERPRISE & WAN CACHING APPLIANCES NETWORK OPTIMIZATION IN A CONFIGURA...
NOMAD ENTERPRISE & WAN CACHING APPLIANCES NETWORK OPTIMIZATION IN A CONFIGURA...
 
Html5 web storage
Html5 web storageHtml5 web storage
Html5 web storage
 
Link Header-based Invalidation of Caches
Link Header-based Invalidation of CachesLink Header-based Invalidation of Caches
Link Header-based Invalidation of Caches
 
Magento caching
Magento cachingMagento caching
Magento caching
 

Destaque

Web Performance & Scalability Tools
Web Performance & Scalability ToolsWeb Performance & Scalability Tools
Web Performance & Scalability ToolsFolio3 Software
 
Web Application Security - Folio3
Web Application Security - Folio3Web Application Security - Folio3
Web Application Security - Folio3Folio3 Software
 
Dimensional Modelling - Basic Concept
Dimensional Modelling - Basic ConceptDimensional Modelling - Basic Concept
Dimensional Modelling - Basic ConceptFolio3 Software
 
Offline Data Access in Enterprise Mobility
Offline Data Access in Enterprise MobilityOffline Data Access in Enterprise Mobility
Offline Data Access in Enterprise MobilityFolio3 Software
 
An Overview of Blackberry 10 & Blackberry App Development
An Overview of Blackberry 10 & Blackberry App DevelopmentAn Overview of Blackberry 10 & Blackberry App Development
An Overview of Blackberry 10 & Blackberry App DevelopmentFolio3 Software
 
Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...
Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...
Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...Folio3 Software
 
An Introduction to CSS Preprocessors (SASS & LESS)
An Introduction to CSS Preprocessors (SASS & LESS)An Introduction to CSS Preprocessors (SASS & LESS)
An Introduction to CSS Preprocessors (SASS & LESS)Folio3 Software
 
An Overview of Blackberry 10
An Overview of Blackberry 10An Overview of Blackberry 10
An Overview of Blackberry 10Folio3 Software
 
Introduction to SharePoint 2013
Introduction to SharePoint 2013Introduction to SharePoint 2013
Introduction to SharePoint 2013Folio3 Software
 
Cross Platform Mobile App Development - An Introduction to Sencha Touch
Cross Platform Mobile App Development - An Introduction to Sencha TouchCross Platform Mobile App Development - An Introduction to Sencha Touch
Cross Platform Mobile App Development - An Introduction to Sencha TouchFolio3 Software
 
Enterprise Mobility - An Introduction
Enterprise Mobility - An IntroductionEnterprise Mobility - An Introduction
Enterprise Mobility - An IntroductionFolio3 Software
 
Best Practices of Software Development
Best Practices of Software DevelopmentBest Practices of Software Development
Best Practices of Software DevelopmentFolio3 Software
 
NOSQL Database: Apache Cassandra
NOSQL Database: Apache CassandraNOSQL Database: Apache Cassandra
NOSQL Database: Apache CassandraFolio3 Software
 

Destaque (16)

Web Performance & Scalability Tools
Web Performance & Scalability ToolsWeb Performance & Scalability Tools
Web Performance & Scalability Tools
 
Web Application Security - Folio3
Web Application Security - Folio3Web Application Security - Folio3
Web Application Security - Folio3
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Dimensional Modelling - Basic Concept
Dimensional Modelling - Basic ConceptDimensional Modelling - Basic Concept
Dimensional Modelling - Basic Concept
 
Front End Oprtimization
Front End OprtimizationFront End Oprtimization
Front End Oprtimization
 
Offline Data Access in Enterprise Mobility
Offline Data Access in Enterprise MobilityOffline Data Access in Enterprise Mobility
Offline Data Access in Enterprise Mobility
 
An Overview of Blackberry 10 & Blackberry App Development
An Overview of Blackberry 10 & Blackberry App DevelopmentAn Overview of Blackberry 10 & Blackberry App Development
An Overview of Blackberry 10 & Blackberry App Development
 
Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...
Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...
Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...
 
An Introduction to CSS Preprocessors (SASS & LESS)
An Introduction to CSS Preprocessors (SASS & LESS)An Introduction to CSS Preprocessors (SASS & LESS)
An Introduction to CSS Preprocessors (SASS & LESS)
 
An Overview of Blackberry 10
An Overview of Blackberry 10An Overview of Blackberry 10
An Overview of Blackberry 10
 
Introduction to SharePoint 2013
Introduction to SharePoint 2013Introduction to SharePoint 2013
Introduction to SharePoint 2013
 
Cross Platform Mobile App Development - An Introduction to Sencha Touch
Cross Platform Mobile App Development - An Introduction to Sencha TouchCross Platform Mobile App Development - An Introduction to Sencha Touch
Cross Platform Mobile App Development - An Introduction to Sencha Touch
 
Enterprise Mobility - An Introduction
Enterprise Mobility - An IntroductionEnterprise Mobility - An Introduction
Enterprise Mobility - An Introduction
 
Introduction to Go-Lang
Introduction to Go-LangIntroduction to Go-Lang
Introduction to Go-Lang
 
Best Practices of Software Development
Best Practices of Software DevelopmentBest Practices of Software Development
Best Practices of Software Development
 
NOSQL Database: Apache Cassandra
NOSQL Database: Apache CassandraNOSQL Database: Apache Cassandra
NOSQL Database: Apache Cassandra
 

Semelhante a Cache is king

Top 10 HTML5 Features for Oracle Cloud Developers
Top 10 HTML5 Features for Oracle Cloud DevelopersTop 10 HTML5 Features for Oracle Cloud Developers
Top 10 HTML5 Features for Oracle Cloud DevelopersBrian Huff
 
KACE Agent Architecture and Troubleshooting Overview
KACE Agent Architecture and Troubleshooting OverviewKACE Agent Architecture and Troubleshooting Overview
KACE Agent Architecture and Troubleshooting OverviewDell World
 
Your browser, your storage (extended version)
Your browser, your storage (extended version)Your browser, your storage (extended version)
Your browser, your storage (extended version)Francesco Fullone
 
Cloudian Webinar - 7 Key Reasons why Object Storage lowers Storage TCO
Cloudian Webinar - 7 Key Reasons why Object Storage lowers Storage TCOCloudian Webinar - 7 Key Reasons why Object Storage lowers Storage TCO
Cloudian Webinar - 7 Key Reasons why Object Storage lowers Storage TCOStorage Switzerland
 
Building Super Fast Cloud-Native Data Platforms - Yaron Haviv, KubeCon 2017 EU
Building Super Fast Cloud-Native Data Platforms - Yaron Haviv, KubeCon 2017 EUBuilding Super Fast Cloud-Native Data Platforms - Yaron Haviv, KubeCon 2017 EU
Building Super Fast Cloud-Native Data Platforms - Yaron Haviv, KubeCon 2017 EUYaron Haviv
 
INTRODUCTION TO IIS
INTRODUCTION TO IISINTRODUCTION TO IIS
INTRODUCTION TO IISsanya6900
 
INTRODUCTION TO IIS
INTRODUCTION TO IISINTRODUCTION TO IIS
INTRODUCTION TO IISsanya6900
 
AWS Webcast - Best Practices for Content Delivery using Amazon CloudFront
AWS Webcast - Best Practices for Content Delivery using Amazon CloudFrontAWS Webcast - Best Practices for Content Delivery using Amazon CloudFront
AWS Webcast - Best Practices for Content Delivery using Amazon CloudFrontAmazon Web Services
 
Best practices for content delivery using amazon cloud front
Best practices for content delivery using amazon cloud frontBest practices for content delivery using amazon cloud front
Best practices for content delivery using amazon cloud frontAmazon Web Services
 
HTML5 Data Storage
HTML5 Data StorageHTML5 Data Storage
HTML5 Data StorageAllan Huang
 
Webinar: Cloud Storage: The 5 Reasons IT Can Do it Better
Webinar: Cloud Storage: The 5 Reasons IT Can Do it BetterWebinar: Cloud Storage: The 5 Reasons IT Can Do it Better
Webinar: Cloud Storage: The 5 Reasons IT Can Do it BetterStorage Switzerland
 
Notes on SF W3Conf
Notes on SF W3ConfNotes on SF W3Conf
Notes on SF W3ConfEdy Dawson
 
Cloud Native Development
Cloud Native DevelopmentCloud Native Development
Cloud Native DevelopmentManuel Garcia
 

Semelhante a Cache is king (20)

introduction to web application development
introduction to web application developmentintroduction to web application development
introduction to web application development
 
your browser, your storage
your browser, your storageyour browser, your storage
your browser, your storage
 
Top 10 HTML5 Features for Oracle Cloud Developers
Top 10 HTML5 Features for Oracle Cloud DevelopersTop 10 HTML5 Features for Oracle Cloud Developers
Top 10 HTML5 Features for Oracle Cloud Developers
 
Mini-Training: To cache or not to cache
Mini-Training: To cache or not to cacheMini-Training: To cache or not to cache
Mini-Training: To cache or not to cache
 
KACE Agent Architecture and Troubleshooting Overview
KACE Agent Architecture and Troubleshooting OverviewKACE Agent Architecture and Troubleshooting Overview
KACE Agent Architecture and Troubleshooting Overview
 
Your browser, your storage (extended version)
Your browser, your storage (extended version)Your browser, your storage (extended version)
Your browser, your storage (extended version)
 
Codeigniter
CodeigniterCodeigniter
Codeigniter
 
Local storage
Local storageLocal storage
Local storage
 
Web Server Hardening
Web Server HardeningWeb Server Hardening
Web Server Hardening
 
your browser, my storage
your browser, my storageyour browser, my storage
your browser, my storage
 
Cloudian Webinar - 7 Key Reasons why Object Storage lowers Storage TCO
Cloudian Webinar - 7 Key Reasons why Object Storage lowers Storage TCOCloudian Webinar - 7 Key Reasons why Object Storage lowers Storage TCO
Cloudian Webinar - 7 Key Reasons why Object Storage lowers Storage TCO
 
Building Super Fast Cloud-Native Data Platforms - Yaron Haviv, KubeCon 2017 EU
Building Super Fast Cloud-Native Data Platforms - Yaron Haviv, KubeCon 2017 EUBuilding Super Fast Cloud-Native Data Platforms - Yaron Haviv, KubeCon 2017 EU
Building Super Fast Cloud-Native Data Platforms - Yaron Haviv, KubeCon 2017 EU
 
INTRODUCTION TO IIS
INTRODUCTION TO IISINTRODUCTION TO IIS
INTRODUCTION TO IIS
 
INTRODUCTION TO IIS
INTRODUCTION TO IISINTRODUCTION TO IIS
INTRODUCTION TO IIS
 
AWS Webcast - Best Practices for Content Delivery using Amazon CloudFront
AWS Webcast - Best Practices for Content Delivery using Amazon CloudFrontAWS Webcast - Best Practices for Content Delivery using Amazon CloudFront
AWS Webcast - Best Practices for Content Delivery using Amazon CloudFront
 
Best practices for content delivery using amazon cloud front
Best practices for content delivery using amazon cloud frontBest practices for content delivery using amazon cloud front
Best practices for content delivery using amazon cloud front
 
HTML5 Data Storage
HTML5 Data StorageHTML5 Data Storage
HTML5 Data Storage
 
Webinar: Cloud Storage: The 5 Reasons IT Can Do it Better
Webinar: Cloud Storage: The 5 Reasons IT Can Do it BetterWebinar: Cloud Storage: The 5 Reasons IT Can Do it Better
Webinar: Cloud Storage: The 5 Reasons IT Can Do it Better
 
Notes on SF W3Conf
Notes on SF W3ConfNotes on SF W3Conf
Notes on SF W3Conf
 
Cloud Native Development
Cloud Native DevelopmentCloud Native Development
Cloud Native Development
 

Mais de Folio3 Software

Shopify & Shopify Plus Ecommerce Development Experts
Shopify & Shopify Plus Ecommerce Development Experts Shopify & Shopify Plus Ecommerce Development Experts
Shopify & Shopify Plus Ecommerce Development Experts Folio3 Software
 
Magento and Magento 2 Ecommerce Development
Magento and Magento 2 Ecommerce Development Magento and Magento 2 Ecommerce Development
Magento and Magento 2 Ecommerce Development Folio3 Software
 
All You Need to Know About Type Script
All You Need to Know About Type ScriptAll You Need to Know About Type Script
All You Need to Know About Type ScriptFolio3 Software
 
A Guideline to Test Your Own Code - Developer Testing
A Guideline to Test Your Own Code - Developer TestingA Guideline to Test Your Own Code - Developer Testing
A Guideline to Test Your Own Code - Developer TestingFolio3 Software
 
OWIN (Open Web Interface for .NET)
OWIN (Open Web Interface for .NET)OWIN (Open Web Interface for .NET)
OWIN (Open Web Interface for .NET)Folio3 Software
 
StackOverflow Architectural Overview
StackOverflow Architectural OverviewStackOverflow Architectural Overview
StackOverflow Architectural OverviewFolio3 Software
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service BusFolio3 Software
 
Regular Expression in Action
Regular Expression in ActionRegular Expression in Action
Regular Expression in ActionFolio3 Software
 
HTTP Server Push Techniques
HTTP Server Push TechniquesHTTP Server Push Techniques
HTTP Server Push TechniquesFolio3 Software
 
Realtime and Synchronous Applications
Realtime and Synchronous ApplicationsRealtime and Synchronous Applications
Realtime and Synchronous ApplicationsFolio3 Software
 
Andriod - Technical Review
Andriod - Technical ReviewAndriod - Technical Review
Andriod - Technical ReviewFolio3 Software
 
NetSuite Integration Solutions - Folio3
NetSuite Integration Solutions - Folio3NetSuite Integration Solutions - Folio3
NetSuite Integration Solutions - Folio3Folio3 Software
 
Folio3 - An Introduction to PHP Yii
Folio3 - An Introduction to PHP YiiFolio3 - An Introduction to PHP Yii
Folio3 - An Introduction to PHP YiiFolio3 Software
 

Mais de Folio3 Software (14)

Shopify & Shopify Plus Ecommerce Development Experts
Shopify & Shopify Plus Ecommerce Development Experts Shopify & Shopify Plus Ecommerce Development Experts
Shopify & Shopify Plus Ecommerce Development Experts
 
Magento and Magento 2 Ecommerce Development
Magento and Magento 2 Ecommerce Development Magento and Magento 2 Ecommerce Development
Magento and Magento 2 Ecommerce Development
 
All You Need to Know About Type Script
All You Need to Know About Type ScriptAll You Need to Know About Type Script
All You Need to Know About Type Script
 
Enter the Big Picture
Enter the Big PictureEnter the Big Picture
Enter the Big Picture
 
A Guideline to Test Your Own Code - Developer Testing
A Guideline to Test Your Own Code - Developer TestingA Guideline to Test Your Own Code - Developer Testing
A Guideline to Test Your Own Code - Developer Testing
 
OWIN (Open Web Interface for .NET)
OWIN (Open Web Interface for .NET)OWIN (Open Web Interface for .NET)
OWIN (Open Web Interface for .NET)
 
StackOverflow Architectural Overview
StackOverflow Architectural OverviewStackOverflow Architectural Overview
StackOverflow Architectural Overview
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service Bus
 
Regular Expression in Action
Regular Expression in ActionRegular Expression in Action
Regular Expression in Action
 
HTTP Server Push Techniques
HTTP Server Push TechniquesHTTP Server Push Techniques
HTTP Server Push Techniques
 
Realtime and Synchronous Applications
Realtime and Synchronous ApplicationsRealtime and Synchronous Applications
Realtime and Synchronous Applications
 
Andriod - Technical Review
Andriod - Technical ReviewAndriod - Technical Review
Andriod - Technical Review
 
NetSuite Integration Solutions - Folio3
NetSuite Integration Solutions - Folio3NetSuite Integration Solutions - Folio3
NetSuite Integration Solutions - Folio3
 
Folio3 - An Introduction to PHP Yii
Folio3 - An Introduction to PHP YiiFolio3 - An Introduction to PHP Yii
Folio3 - An Introduction to PHP Yii
 

Último

Escorts Service Sanjay Nagar ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Sanjay Nagar ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Sanjay Nagar ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Sanjay Nagar ☎ 7737669865☎ Book Your One night Stand (Bangalore)amitlee9823
 
Deira Dubai Escorts +0561951007 Escort Service in Dubai by Dubai Escort Girls
Deira Dubai Escorts +0561951007 Escort Service in Dubai by Dubai Escort GirlsDeira Dubai Escorts +0561951007 Escort Service in Dubai by Dubai Escort Girls
Deira Dubai Escorts +0561951007 Escort Service in Dubai by Dubai Escort GirlsEscorts Call Girls
 
Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...
Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...
Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...drmarathore
 
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证ehyxf
 
Call Girls Chikhali Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Chikhali Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Chikhali Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Chikhali Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
Get Premium Pimple Saudagar Call Girls (8005736733) 24x7 Rate 15999 with A/c ...
Get Premium Pimple Saudagar Call Girls (8005736733) 24x7 Rate 15999 with A/c ...Get Premium Pimple Saudagar Call Girls (8005736733) 24x7 Rate 15999 with A/c ...
Get Premium Pimple Saudagar Call Girls (8005736733) 24x7 Rate 15999 with A/c ...MOHANI PANDEY
 
Call Girls Pimple Saudagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Pimple Saudagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Pimple Saudagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Pimple Saudagar Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证tufbav
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In Yusuf Sarai ≼🔝 Delhi door step delevry≼🔝
Call Now ≽ 9953056974 ≼🔝 Call Girls In Yusuf Sarai ≼🔝 Delhi door step delevry≼🔝Call Now ≽ 9953056974 ≼🔝 Call Girls In Yusuf Sarai ≼🔝 Delhi door step delevry≼🔝
Call Now ≽ 9953056974 ≼🔝 Call Girls In Yusuf Sarai ≼🔝 Delhi door step delevry≼🔝9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Develop Keyboard Skill.pptx er power point
Develop Keyboard Skill.pptx er power pointDevelop Keyboard Skill.pptx er power point
Develop Keyboard Skill.pptx er power pointGetawu
 
Book Paid Lohegaon Call Girls Pune 8250192130Low Budget Full Independent High...
Book Paid Lohegaon Call Girls Pune 8250192130Low Budget Full Independent High...Book Paid Lohegaon Call Girls Pune 8250192130Low Budget Full Independent High...
Book Paid Lohegaon Call Girls Pune 8250192130Low Budget Full Independent High...ranjana rawat
 
Call Girls in Vashi Escorts Services - 7738631006
Call Girls in Vashi Escorts Services - 7738631006Call Girls in Vashi Escorts Services - 7738631006
Call Girls in Vashi Escorts Services - 7738631006Pooja Nehwal
 
9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...
9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...
9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...Pooja Nehwal
 
Book Sex Workers Available Pune Call Girls Yerwada 6297143586 Call Hot India...
Book Sex Workers Available Pune Call Girls Yerwada  6297143586 Call Hot India...Book Sex Workers Available Pune Call Girls Yerwada  6297143586 Call Hot India...
Book Sex Workers Available Pune Call Girls Yerwada 6297143586 Call Hot India...Call Girls in Nagpur High Profile
 
Top Rated Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Call Girls in Nagpur High Profile
 

Último (20)

Escorts Service Sanjay Nagar ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Sanjay Nagar ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Sanjay Nagar ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Sanjay Nagar ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
(ISHITA) Call Girls Service Aurangabad Call Now 8617697112 Aurangabad Escorts...
(ISHITA) Call Girls Service Aurangabad Call Now 8617697112 Aurangabad Escorts...(ISHITA) Call Girls Service Aurangabad Call Now 8617697112 Aurangabad Escorts...
(ISHITA) Call Girls Service Aurangabad Call Now 8617697112 Aurangabad Escorts...
 
Deira Dubai Escorts +0561951007 Escort Service in Dubai by Dubai Escort Girls
Deira Dubai Escorts +0561951007 Escort Service in Dubai by Dubai Escort GirlsDeira Dubai Escorts +0561951007 Escort Service in Dubai by Dubai Escort Girls
Deira Dubai Escorts +0561951007 Escort Service in Dubai by Dubai Escort Girls
 
Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...
Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...
Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...
 
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
 
Call Girls Chikhali Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Chikhali Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Chikhali Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Chikhali Call Me 7737669865 Budget Friendly No Advance Booking
 
Get Premium Pimple Saudagar Call Girls (8005736733) 24x7 Rate 15999 with A/c ...
Get Premium Pimple Saudagar Call Girls (8005736733) 24x7 Rate 15999 with A/c ...Get Premium Pimple Saudagar Call Girls (8005736733) 24x7 Rate 15999 with A/c ...
Get Premium Pimple Saudagar Call Girls (8005736733) 24x7 Rate 15999 with A/c ...
 
Call Girls Pimple Saudagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Pimple Saudagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Pimple Saudagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Pimple Saudagar Call Me 7737669865 Budget Friendly No Advance Booking
 
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In Yusuf Sarai ≼🔝 Delhi door step delevry≼🔝
Call Now ≽ 9953056974 ≼🔝 Call Girls In Yusuf Sarai ≼🔝 Delhi door step delevry≼🔝Call Now ≽ 9953056974 ≼🔝 Call Girls In Yusuf Sarai ≼🔝 Delhi door step delevry≼🔝
Call Now ≽ 9953056974 ≼🔝 Call Girls In Yusuf Sarai ≼🔝 Delhi door step delevry≼🔝
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
CHEAP Call Girls in Ashok Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Ashok Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Ashok Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Ashok Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
CHEAP Call Girls in Mayapuri (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Mayapuri  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Mayapuri  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Mayapuri (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Develop Keyboard Skill.pptx er power point
Develop Keyboard Skill.pptx er power pointDevelop Keyboard Skill.pptx er power point
Develop Keyboard Skill.pptx er power point
 
Book Paid Lohegaon Call Girls Pune 8250192130Low Budget Full Independent High...
Book Paid Lohegaon Call Girls Pune 8250192130Low Budget Full Independent High...Book Paid Lohegaon Call Girls Pune 8250192130Low Budget Full Independent High...
Book Paid Lohegaon Call Girls Pune 8250192130Low Budget Full Independent High...
 
Call Girls in Vashi Escorts Services - 7738631006
Call Girls in Vashi Escorts Services - 7738631006Call Girls in Vashi Escorts Services - 7738631006
Call Girls in Vashi Escorts Services - 7738631006
 
9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...
9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...
9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...
 
Book Sex Workers Available Pune Call Girls Yerwada 6297143586 Call Hot India...
Book Sex Workers Available Pune Call Girls Yerwada  6297143586 Call Hot India...Book Sex Workers Available Pune Call Girls Yerwada  6297143586 Call Hot India...
Book Sex Workers Available Pune Call Girls Yerwada 6297143586 Call Hot India...
 
(INDIRA) Call Girl Napur Call Now 8617697112 Napur Escorts 24x7
(INDIRA) Call Girl Napur Call Now 8617697112 Napur Escorts 24x7(INDIRA) Call Girl Napur Call Now 8617697112 Napur Escorts 24x7
(INDIRA) Call Girl Napur Call Now 8617697112 Napur Escorts 24x7
 
Top Rated Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Ravet ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 

Cache is king

  • 2.  Introduction  Typical Implementation  Tools ◦ Memcache, Redis ◦ Varnish ◦ HTML 5  Challenges @folio_3 www.folio3.com Copyright 2015
  • 3.  A cache is a component that transparently stores data so that future requests for that data can be served faster  Speeds up the data lookups  Wikipedia serves 75% content from Cache @folio_3 www.folio3.com Copyright 2015
  • 4.  Hardware ◦ CPU (L1, L2) ◦ HDD (Read/Write Buffers)  Applications  Database  Proxies  Web Servers  Browsers @folio_3 www.folio3.com Copyright 2015
  • 6.  Populating the cache ◦ Upfront Population ◦ Lazy Population  Keeping the cache and source in sync ◦ Time based Expiry ◦ Active Expiry ◦ Write through Cache  Managing cache size ◦ Removing data @folio_3 www.folio3.com Copyright 2015
  • 7. Upfront Population Lazy Population  No one-off cache read delay  The initial build of the cache takes time  Data cached may not be read at all  First request is not found in cache  Only caches data that is actually read  Has no cache build delay @folio_3 www.folio3.com Copyright 2015
  • 8.  Time Based Expiry ◦ Data is removed from cache after some time ◦ Most commonly used ◦ Short expiry time can be a problem  Active Expiry ◦ Source tells cache to remove data when updated or removed  Write-through cache ◦ Allow read and write to cache ◦ Data is added/written to source when written to cache @folio_3 www.folio3.com Copyright 2015
  • 9.  Cache storage is smaller then original data  Have to manage space smartly  To make space for new data: ◦ Time based eviction ◦ First in, first out (FIFO) ◦ Least accessed ◦ Least time between access ◦ Many others (http://en.wikipedia.org/wiki/Cache_algorithms#Examples) @folio_3 www.folio3.com Copyright 2015
  • 13.  Application ◦ Objects ◦ Arrays / Query results ◦ String/HTML/ Full Page  Database ◦ Query cache  Web Server ◦ Static resources ◦ Full page cache  Browser ◦ Headers ◦ HTML5 @folio_3 www.folio3.com Copyright 2015
  • 15.  It is Free & Open Source  Distributed memory based cache  Key value store  Easy to deploy  Client libraries available in most of the languages @folio_3 www.folio3.com Copyright 2015
  • 16.  Since 2003  Written in C  Works on Linux, Windows  Fast by default  Security can be an issue ◦ Expose only to trusted network ◦ Optional authentication @folio_3 www.folio3.com Copyright 2015
  • 19.  Issues with large implementations. ◦ Large works are fine by default  No communication between Servers ◦ No Data replication  Capacity issue of single Server  No warm-up on startup  Solution ◦ Mick-Router @folio_3 www.folio3.com Copyright 2015
  • 20.  Tool by Facebook  Provides failover, Load balance, warm-up server, replication of server  How it works: ◦ https://code.facebook.com/posts/29644273721 3493/introducing-mcrouter-a-memcached- protocol-router-for-scaling-memcached- deployments/ @folio_3 www.folio3.com Copyright 2015
  • 25.  Key-value cache  Optionally a permanent Store ◦ Snapshotting ◦ Log Based  Support a lot of Data Structures. ◦ String, Lists (arrays), Sets (Unique), Hashes (Objects), Sorted Sets, BitMaps, HyperLogLogs etc ◦ http://redis.io/topics/data-types-intro  Lot more than just SET, GET and DEL ◦ Increment, Append, LPUSH, RPOP, LRANGE ◦ Pipelining (Send multiple commands in one go) ◦ http://redis.io/commands @folio_3 www.folio3.com Copyright 2015
  • 26.  Replication  Client libraries available in most of the languages ◦ C, C#, PHP, Objective-C, Node.Js, Python, Ruby and more ◦ http://redis.io/clients  Works on Windows ◦ Windows port developed/maintained by Microsoft Open Tech group  Available on cloud ◦ AWS, Morpheus, RedisToGo, RackSpace, Microsoft Azure ◦ Comes with a lot of preset like backup, monitoring, high availability, ACL etc ◦ http://en.wikipedia.org/wiki/Redis#Cloud_deployment @folio_3 www.folio3.com Copyright 2015
  • 27.  Performance ◦ Has built-in benchmark, easy to run ◦ It is easy to run test and find out real picture ◦ http://redis.io/topics/benchmarks  Since 2009  Written in C @folio_3 www.folio3.com Copyright 2015
  • 28. Redis Memcached  Stores data in a variety of formats  Complex to configure (Default configuration can work)  Pipelining! Multiple commands at once  Locking reads - will wait until another process writes data to the cache  Mass insertion of data to prime a cache  Partitions data across multiple redis instances  Can back data to disk  Pub/Sub feature  Doesn't do anything besides being an in- memory key/value store  Low complexity  Simple to configure  Few command macros making it simple to master  Runs like a rock  Many years in production  Every programming language has a memcached library. @folio_3 www.folio3.com Copyright 2015
  • 29.  A lot of bench marks available ◦ http://oldblog.antirez.com/post/redis- memcached-benchmark.html ◦ http://dormando.livejournal.com/525147.html ◦ http://oldblog.antirez.com/post/update-on- memcached-redis-benchmark.html @folio_3 www.folio3.com Copyright 2015
  • 30.  NCache: Distributed Cache for .NET  CouchDB: Can be used as replacement of Memcache  MemSQL: The Database for Speed, Scale & Simplicity  And a lot more @folio_3 Copyright 2015www.folio3.com
  • 32.  Sits in front of web server(s) @folio_3 Copyright 2015www.folio3.com
  • 33.  Page cache  Static File Cache  Load Balancing  Rewriting and redirecting URLs  Varnish Configuration Language ◦ Powerful, Can manage rules, Modify headers  Community/Enterprise Editions  Becoming the default for specialized cloud hosting ◦ WP, Magento, Joom, Drupal etc @folio_3 Copyright 2015www.folio3.com
  • 34.  ESI ◦ Useful for user customized dynamic content ◦ Help increase TTL for pages ◦ <esi:include src="/news/hot_news.html"/>  Works for Windows via CYGWIN ◦ Can have IIS on backend  Stores cache in memory or file  Paid edition has admin interface ◦ Real-time Statistics ◦ Cache group management ◦ Invalidations of cache etc @folio_3 Copyright 2015www.folio3.com
  • 35.  LiteSpeed: Provides cache, replacement for apache httpd, Load balancer etc  Apache Httpd: Mod Cache, Mod Mem Cache  Nginx Cache @folio_3 Copyright 2015www.folio3.com
  • 36.  If cached properly: ◦ Resources are not downloaded on next requests  Set “Expires” Header for Static Resources  “304 Not Modified” Requests ◦ Involves http round trip but file is not downloaded @folio_3 Copyright 2015www.folio3.com
  • 37.  Easy to implement  Very effective  Headers can be set on ◦ Application ◦ Web Server @folio_3 Copyright 2015www.folio3.com
  • 38.  Application Cache ◦ manifest="demo.appcache“ ◦ Define files which are to be cached  CACHE MANIFEST  NETWORK: Not to be cached  FALLBACK: If page not available then fallback to these ◦ http://diveintohtml5.info/offline.html @folio_3 Copyright 2015www.folio3.com
  • 39.  Which Data to Cache ◦ Can’t cache every thing ◦ Space is limited  Expiry Time ◦ Have to be selective, too short or too long can be a problem  Multiple Cache backend ◦ Use frame works so it is easy to Switch  Full Page / Parts ◦ Based on needs and usage  Logged/Logged Out Users ◦ ESI, Logged in user still has part which can be cached  Removing Data form cache ◦ There must be a way to remove individual item  Key Scheme  Monitor Hit/Miss @folio_3 Copyright 2015www.folio3.com