How to install Memcached

February 8, 2012 — 9 Comments


This guide will help you setup Memcached on a CentOS server.

What is caching

Before diving into Memcache specifically, let’s take a step back. What is caching? Why should you care and why should you use it? Caching is used for two very important reasons: to speed up the delivery of the pages and to alleviate system resources. Caching is used to speed up dynamic sites; database driven sites will benefit most form caching. Think about a WordPress site. Each page you visit is not an actually file, but rather an amalgamation of the theme, widgets, posts, footers, headers, etc… Each time a page is accessed, PHP will generate the page requested on the fly from the database. It takes time to query the database to create the page. These database queries put a strain on the resources of your server.

However, what if instead of continually generating a new page, the same page, for every visitor, you were to turn those pages into static HTML files? No database querying is needed for the new visitors. A static file can be served up much faster and with significantly less resource consumption. Your visitors see their requested page sooner, and you save on CPU cycles. Everyone is happy. This is what caching does.

What is Memcached

Memcached is a general-purpose distributed memory caching system. It is one of the most popular caching tools and is used in such popular sites as: YouTube, Reddit, Zynga, Facebook, and Twitter.

According to Memcached’s official site, Memcached is defined as: Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.

In simpler terms, it decreases database load by storing objects in memory.

Installing Memcached (daemon)

The quickest and easiest method would be to install via Yum. First, you must grab the RPM that matches your OS:

CentOS 6 (64 bit):

CentOS 6 (32 bit):

CentOS 5 (64 bit):

CentOS 5 (32 bit):

CentOS 4 (32 bit):

Now, to install it with Yum:

Start the memcached service:

Configure the memcached service to start when the server boots:

Finally, disable the RPM so that it is not used for future Yum functions:

Testing

It’s always a good idea to check your work. Make sure that memcached is running:

PHP memcache

For information on how to install the PHP extension so that your PHP software can interface with memcached (daemon), see my article here: How to install PHP memcache

Note about this article

This article is one I had written for the ServInt blog as part of the ‘Tech bench’ series. You can view it on the ServInt blog here. They are using my article with my permission.

Change Log:

  • 01/02/13 | Updated RPM locations

Jacob "Boom Shadow" Tirey

Posts Twitter

A linux web hosting administrator, a professional production sound man, and a renegade cop without nothing left to lose.... Ok, that last part is made up. In all seriousness, my passion in life is to help people; whether that be with help running their sites or with their productions. The name 'Boom Shadow' was given to me by a great group of filmmakers called Star Wipe Films. back in 2005 and has been with me since. I hope my site is helpful to you, and if there's something you need, drop me a line!
  • martin

    Thank you very much, it worked flawlesly šŸ˜€

  • Pingback: blogcion()

  • Thilina

    Extremely helpful… Thanks :)Ā 

  • Pingback: CentOS 6.2: install memcached server and PHP memcache, memcached extensions « William Jiang()

  • sutariya

    Hey many many many Thanks becauseĀ 

    • @sutariya:disqusĀ  , glad I could make your life easier. I had also found the other install methods out there to be too erroneous or time consuming. This one lets you install via Yum which is almost always preferred. Thanks for the feedback!

  • Neo

    Thanks alot you saved me…tried so many epels but none of them worked…
    Thanks buddy…

  • That’s nice to hear and it personally like ServInt as it lets its customers to install and use memcached. There are hosts that do not allow their customers to install memcached (APC is a big no-no, due to incompatibility issues).

    • Indeed, it can be quite frustrating if your hosting provider is limitingĀ  what you can do. But usually they do so for the stability of the hosting environment. A shared host is constantly having to worry about resource balance on the server. A VPS or dedicated server provider will give you more freedom as the whole server will be yours to do with as you want. Just make sure they give you root access like ServInt does :)