SlideShare a Scribd company logo
Memcached B box presentation
What is memcached briefly?
 Memcached is a high-performance, distributed
memory object caching system, generic in nature
 Memcache is an in-memory key-value store for
small chunks of arbitrary data (strings, objects)
from results of database calls, API calls, or page
rendering.
 Memcache is not faster than database, but it's
faster than database when connections and
requests increase.
Why was memcached made?
• It was originally developed by Danga
Interactive to enhance the speed of
LiveJournal.com
• It dropped the database load to almost
nothing, yielding faster page load times for
users, better resource utilization, and faster
access to the databases on a memcache miss
• http://www.danga.com/memcached/
Memcached Users
•
•
•
•
•
•
•
•
•
•

LiveJournal
Wikipedia
Flickr
Twitter
Youtube
Dig
Wordpress
Craigslist
Facebook (around 200 dedicated memcache servers)
Yahoo! India Movies
Where does memcached reside?
• Memcache is not part of the database but sits
outside it on the server(s).
• Memcache is not meant for providing any
backup support. Its all about simple read and
write.
Why use memcached?
• To reduce the load on the database by caching
data BEFORE it hits the database
• Can be used for more then just holding
database results (objects) and improve the
entire application response time
• Feel the need for speed
• Memcache is in RAM - much faster then hitting
the disk or the database
Why not use memcached?
• Memcache is held in RAM. This is a finite
resource.
• Adding complexity to a system just for
complexities sake is a waste. If the system can
respond within the requirements without it leave it alone
What are the limits of memcached?
• Keys can be no more then 250 characters
• Stored data can not exceed 1M (largest typical slab
size)
• There are generally no limits to the number of nodes
running memcache
• There are generally no limits the the amount of RAM
used by memcache over all nodes
• 32 bit machines do have a limit of 4GB though
First User Request
• First request goes to database server at the same time data
object storing in Memcached server.
Second User Request
• Second user request data comes from Memcached object.
How do I easily install memcached?
• You can build and install memcached from the source
code directly, or you can use an existing operating
system package or installation.
• on a RedHat, Fedora or CentOS host, use yum:
• root-shell> yum install memcached

• on a Debian or Ubuntu host, use apt-get:
• root-shell> apt-get install memcached

• on a Gentoo host, use emerge:
• root-shell> emerge install memcached

• on OpenSolaris, use the pkg for SUNWmemcached:
• root-shell> pkg install SUNWmemcached
How do I compile memcached from source?
• Get the source from the website:
http://www.danga.com/memcached/downloa
d.bml
• Memcache has a dependancy on libevent so make
sure you have that also.

• Decompress, cd into the dir
• ./configure;make;make install;
How do I start memcached?
• Memcached can be run as a non-root user if it
will not be on a restricted port (<1024) though the user can not have a memory limit
restriction
• shell> memcached
• Default configuration - Memory: 64MB, all
network interfaces, port:11211, max
simultaneous connections: 1024
How can I connect to memcached?
• Memcached uses a protocol that many
languages implement with an API.
• Languages that implement it:
• Perl, PHP, Python, Ruby, Java, C#, C, Lua, Postgres,
MySQL, Chicken Scheme

• And yes - because it is a protocol you can even
use telnet
• shell> telnet localhost 11211
Memcached protocol
• 3 types of commands
• Storage - ask the server to store some data
identified by a key
• set, add, replace, append, prepend and cas

• Retrieval - ask the server to retrieve data
corresponding to a set of keys
• get, gets
PHP Script
• Information about the PHP API at
http://www.php.net/memcache
<?php
// make a memcache object
$memcache = new Memcache;
// connect to memcache
$memcache->connect('localhost', 11211) or die ("Could not
connect");
//get the memcache version
$version = $memcache->getVersion();
echo "Server's version: ".$version."<br/>n";
PHP Script (con’t)
// test data
$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;
// set the test data in memcache
$memcache->set('key', $tmp_object, false, 10) or die ("Failed
to save data at the server");
echo "Store data in the cache (data will expire in 10
seconds)<br/>n";
// get the data
$get_result = $memcache->get('key');
echo "Data from the cache:<br/>n";
echo ‘<pre>’, var_dump($get_result), ‘</pre>’;
PHP Script (con’t)
// modify the data
$tmp_object->str_attr = ‘boo’;
$memcache->replace(‘key’, $tmp_object, false, 10) or
die(“Failed to save new data to the server<br/>n”);
Echo “Stored data in the cache changed<br/>n”;
// get the new data
$get_result = $memcache->get(‘key’);
Echo “New data from the cache:<br/>n”;
Echo ‘<pre>’, var_dump($get_result), “</pre>n”;
// delete the data
$memcache->delete(‘key’) or die(“Data not deleted<br/>n”);
Possible ways to secure memcached
• It has no authentication system - so protection
is important
• Run as a non-priveledged user to minimize
potential damage
• Specify the ip address to listen on using -l
• 127.0.0.1, 192.168.0.1, specific ip address

• Use a non-standard port
• Use a firewall
Contact details

THANK YOU

More Related Content

PPTX
Using memcache to improve php performance
PPT
Memcache
PPT
Roy foubister (hosting high traffic sites on a tight budget)
PPTX
Performance all teh things
PDF
WordPress Performance & Scalability
PPT
Speeding Up The Snail
PPTX
Apache Performance Tuning: Scaling Up
PPTX
Improving Website Performance with Memecached Webinar | Achieve Internet
Using memcache to improve php performance
Memcache
Roy foubister (hosting high traffic sites on a tight budget)
Performance all teh things
WordPress Performance & Scalability
Speeding Up The Snail
Apache Performance Tuning: Scaling Up
Improving Website Performance with Memecached Webinar | Achieve Internet

What's hot (20)

KEY
Memcached: What is it and what does it do?
PPT
Caching Data For Performance
PDF
Tomcatx performance-tuning
PPTX
Apache Performance Tuning: Scaling Out
PPT
Tomcat Server
PDF
Give Your Site a Boost with Memcache
PDF
A memcached implementation in Java
PDF
Setting up a local WordPress development environment
PDF
Memcached: What is it and what does it do? (PHP Version)
PDF
Memcache basics on google app engine
PPTX
Drupal, varnish, esi - Toulouse November 2
PDF
Tomcat next
PPTX
Tips for Fixing a Hacked WordPress Site - WordCamp Sydney 2016
PPTX
Zendcon scaling magento
PDF
Scale ColdFusion with Terracotta Distributed Caching for Ehchache
PPTX
PPTX
High performance WordPress
PPTX
cache concepts and varnish-cache
PDF
Tomcat Optimisation & Performance Tuning
PDF
Apache Tomcat 8 Application Server
Memcached: What is it and what does it do?
Caching Data For Performance
Tomcatx performance-tuning
Apache Performance Tuning: Scaling Out
Tomcat Server
Give Your Site a Boost with Memcache
A memcached implementation in Java
Setting up a local WordPress development environment
Memcached: What is it and what does it do? (PHP Version)
Memcache basics on google app engine
Drupal, varnish, esi - Toulouse November 2
Tomcat next
Tips for Fixing a Hacked WordPress Site - WordCamp Sydney 2016
Zendcon scaling magento
Scale ColdFusion with Terracotta Distributed Caching for Ehchache
High performance WordPress
cache concepts and varnish-cache
Tomcat Optimisation & Performance Tuning
Apache Tomcat 8 Application Server
Ad

Viewers also liked (7)

PDF
Drupal High Availability and High Performance
PDF
High Performance Drupal
PDF
Apc Memcached Confoo 2011
PDF
Memcached And MySQL
PDF
Plugin Memcached%20 Study
PPT
Implementing High Performance Drupal Sites
PDF
Build a responsive website with drupal
Drupal High Availability and High Performance
High Performance Drupal
Apc Memcached Confoo 2011
Memcached And MySQL
Plugin Memcached%20 Study
Implementing High Performance Drupal Sites
Build a responsive website with drupal
Ad

Similar to Memcached B box presentation (20)

KEY
Introduction to memcached
PPTX
Improving Website Performance with Memecached Webinar | Achieve Internet
PDF
Caching with Memcached and APC
PPTX
Anthony Somerset - Site Speed = Success!
ODP
Caching and tuning fun for high scalability
PPTX
Lonestar php scalingmagento
PPTX
PDF
Top ten-list
PPTX
Mini-Training: To cache or not to cache
ODP
Caching and tuning fun for high scalability @ FrOSCon 2011
PDF
Membase East Coast Meetups
PDF
Memcached Presentation
PDF
Improve WordPress performance with caching and deferred execution of code
PDF
Membase Intro from Membase Meetup San Francisco
PDF
Improving Website Performance and Scalability with Memcached
ODP
Caching and tuning fun for high scalability
PDF
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion
ODP
Caching and tuning fun for high scalability @ phpBenelux 2011
KEY
Site Performance - From Pinto to Ferrari
PDF
Caching objects-in-memory
Introduction to memcached
Improving Website Performance with Memecached Webinar | Achieve Internet
Caching with Memcached and APC
Anthony Somerset - Site Speed = Success!
Caching and tuning fun for high scalability
Lonestar php scalingmagento
Top ten-list
Mini-Training: To cache or not to cache
Caching and tuning fun for high scalability @ FrOSCon 2011
Membase East Coast Meetups
Memcached Presentation
Improve WordPress performance with caching and deferred execution of code
Membase Intro from Membase Meetup San Francisco
Improving Website Performance and Scalability with Memcached
Caching and tuning fun for high scalability
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion
Caching and tuning fun for high scalability @ phpBenelux 2011
Site Performance - From Pinto to Ferrari
Caching objects-in-memory

Recently uploaded (20)

PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Cloud computing and distributed systems.
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Spectroscopy.pptx food analysis technology
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Electronic commerce courselecture one. Pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Network Security Unit 5.pdf for BCA BBA.
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Mobile App Security Testing_ A Comprehensive Guide.pdf
Cloud computing and distributed systems.
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Spectroscopy.pptx food analysis technology
Reach Out and Touch Someone: Haptics and Empathic Computing
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Electronic commerce courselecture one. Pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Programs and apps: productivity, graphics, security and other tools
Encapsulation_ Review paper, used for researhc scholars
MYSQL Presentation for SQL database connectivity
sap open course for s4hana steps from ECC to s4
Profit Center Accounting in SAP S/4HANA, S4F28 Col11

Memcached B box presentation

  • 2. What is memcached briefly?  Memcached is a high-performance, distributed memory object caching system, generic in nature  Memcache is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.  Memcache is not faster than database, but it's faster than database when connections and requests increase.
  • 3. Why was memcached made? • It was originally developed by Danga Interactive to enhance the speed of LiveJournal.com • It dropped the database load to almost nothing, yielding faster page load times for users, better resource utilization, and faster access to the databases on a memcache miss • http://www.danga.com/memcached/
  • 5. Where does memcached reside? • Memcache is not part of the database but sits outside it on the server(s). • Memcache is not meant for providing any backup support. Its all about simple read and write.
  • 6. Why use memcached? • To reduce the load on the database by caching data BEFORE it hits the database • Can be used for more then just holding database results (objects) and improve the entire application response time • Feel the need for speed • Memcache is in RAM - much faster then hitting the disk or the database
  • 7. Why not use memcached? • Memcache is held in RAM. This is a finite resource. • Adding complexity to a system just for complexities sake is a waste. If the system can respond within the requirements without it leave it alone
  • 8. What are the limits of memcached? • Keys can be no more then 250 characters • Stored data can not exceed 1M (largest typical slab size) • There are generally no limits to the number of nodes running memcache • There are generally no limits the the amount of RAM used by memcache over all nodes • 32 bit machines do have a limit of 4GB though
  • 9. First User Request • First request goes to database server at the same time data object storing in Memcached server.
  • 10. Second User Request • Second user request data comes from Memcached object.
  • 11. How do I easily install memcached? • You can build and install memcached from the source code directly, or you can use an existing operating system package or installation. • on a RedHat, Fedora or CentOS host, use yum: • root-shell> yum install memcached • on a Debian or Ubuntu host, use apt-get: • root-shell> apt-get install memcached • on a Gentoo host, use emerge: • root-shell> emerge install memcached • on OpenSolaris, use the pkg for SUNWmemcached: • root-shell> pkg install SUNWmemcached
  • 12. How do I compile memcached from source? • Get the source from the website: http://www.danga.com/memcached/downloa d.bml • Memcache has a dependancy on libevent so make sure you have that also. • Decompress, cd into the dir • ./configure;make;make install;
  • 13. How do I start memcached? • Memcached can be run as a non-root user if it will not be on a restricted port (<1024) though the user can not have a memory limit restriction • shell> memcached • Default configuration - Memory: 64MB, all network interfaces, port:11211, max simultaneous connections: 1024
  • 14. How can I connect to memcached? • Memcached uses a protocol that many languages implement with an API. • Languages that implement it: • Perl, PHP, Python, Ruby, Java, C#, C, Lua, Postgres, MySQL, Chicken Scheme • And yes - because it is a protocol you can even use telnet • shell> telnet localhost 11211
  • 15. Memcached protocol • 3 types of commands • Storage - ask the server to store some data identified by a key • set, add, replace, append, prepend and cas • Retrieval - ask the server to retrieve data corresponding to a set of keys • get, gets
  • 16. PHP Script • Information about the PHP API at http://www.php.net/memcache <?php // make a memcache object $memcache = new Memcache; // connect to memcache $memcache->connect('localhost', 11211) or die ("Could not connect"); //get the memcache version $version = $memcache->getVersion(); echo "Server's version: ".$version."<br/>n";
  • 17. PHP Script (con’t) // test data $tmp_object = new stdClass; $tmp_object->str_attr = 'test'; $tmp_object->int_attr = 123; // set the test data in memcache $memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server"); echo "Store data in the cache (data will expire in 10 seconds)<br/>n"; // get the data $get_result = $memcache->get('key'); echo "Data from the cache:<br/>n"; echo ‘<pre>’, var_dump($get_result), ‘</pre>’;
  • 18. PHP Script (con’t) // modify the data $tmp_object->str_attr = ‘boo’; $memcache->replace(‘key’, $tmp_object, false, 10) or die(“Failed to save new data to the server<br/>n”); Echo “Stored data in the cache changed<br/>n”; // get the new data $get_result = $memcache->get(‘key’); Echo “New data from the cache:<br/>n”; Echo ‘<pre>’, var_dump($get_result), “</pre>n”; // delete the data $memcache->delete(‘key’) or die(“Data not deleted<br/>n”);
  • 19. Possible ways to secure memcached • It has no authentication system - so protection is important • Run as a non-priveledged user to minimize potential damage • Specify the ip address to listen on using -l • 127.0.0.1, 192.168.0.1, specific ip address • Use a non-standard port • Use a firewall