May 20, 2023

How To Install Redis & Memcached On WHM/cPanel

How To Install Redis & Memcached On WHM/cPanel

What is Redis?

Redis is an open-source, in-memory data structure store that is often used as a database, cache, and message broker. It stands for Remote Dictionary Server and provides a key-value data model, where each key is associated with a value.

Key features of Redis include:

  1. In-Memory Storage: Redis stores data in memory, which allows for fast read and write operations. It also offers options to persist data to disk if needed.
  2. Data Structures: Redis supports various data structures such as strings, lists, sets, hashes, and sorted sets. This versatility enables Redis to handle different types of data and perform complex operations on them.
  3. Caching: Redis is commonly used as a cache due to its fast read and write speeds. It can store frequently accessed data in memory, reducing the load on backend systems.
  4. Pub/Sub Messaging: Redis provides a publish/subscribe messaging system where publishers can send messages to channels, and subscribers can receive those messages.
  5. Advanced Functionality: Redis offers additional functionalities like transactions, scripting, and support for atomic operations on data structures, allowing for complex operations and ensuring data consistency.
  6. High Performance: Redis is known for its exceptional performance due to its in-memory storage and optimized data structures. It can handle a high volume of requests per second.

Redis is widely used in various applications and use cases, including caching, session management, real-time analytics, leaderboards, job queues, and more. Its simplicity, speed, and versatility make it a popular choice for developers and system administrators.

What is Memcached?

Memcached is a high-performance, distributed memory caching system that is used to speed up dynamic web applications by caching frequently accessed data in memory. It is a free and open-source software that works by storing key-value pairs in memory.

Here are some key features of Memcached:

  1. In-Memory Caching: Memcached stores data in memory, allowing for fast retrieval and reducing the need for frequent database or disk accesses.
  2. Distributed Architecture: Memcached is designed to be a distributed caching system. It can be deployed across multiple servers, forming a caching pool that can handle a large volume of requests.
  3. Simple Key-Value Store: Memcached operates as a simple key-value store, where each key is associated with a value. It supports various data types, including strings, numbers, and serialized objects.
  4. High Scalability: Memcached can scale horizontally by adding more servers to the cache pool. This allows applications to handle increasing loads without sacrificing performance.
  5. Cache Expiration and Eviction: Memcached allows you to set expiration times for cache entries. When an entry expires or when the cache reaches its capacity, Memcached uses an eviction policy to determine which items to remove from the cache.
  6. No Persistent Storage: Unlike Redis, Memcached does not provide built-in persistence. It is primarily used as a cache and does not store data permanently. If data needs to be persisted, it must be stored in a separate data store.

Memcached is commonly used in web applications to cache database query results, API responses, session data, and other frequently accessed data. By reducing the need for repeated expensive operations, Memcached helps improve the overall performance and scalability of web applications.

To install Redis and Memcached on WHM/cPanel, you can follow these steps:

  1. Log in to your WHM/cPanel server using your administrator credentials.
  2. Once logged in, navigate to the “WHM Home” page.
  3. In the search bar, type “EasyApache 4” and click on the “EasyApache 4” option that appears.
  4. On the EasyApache 4 page, click on the “Customize” button next to the “Currently Installed Packages” option.
  5. In the next screen, scroll down and locate the “PHP Extensions” section.
  6. Look for “Redis” and “Memcached” extensions, and select the checkboxes next to them.
  7. Click on the “Review” button at the bottom of the page.
  8. Review the changes and click on the “Provision” button to install the Redis and Memcached extensions.
  9. Wait for the installation process to complete. This may take a few minutes.
  10. Once the installation is finished, Redis and Memcached should be available for use on your WHM/cPanel server.

Note: Make sure your server meets the system requirements for Redis and Memcached, and that you have the necessary privileges to install extensions on your WHM/cPanel server.

To install Redis and Memcached on a WHM/cPanel server using terminal commands, you can follow these steps:

  1. Connect to your server via SSH using a terminal application (e.g., PuTTY, Terminal).
  2. Once connected, log in to your server as the root user or a user with root privileges.
  3. Update the package repositories by running the following command:
sudo yum update

4. Install Redis by running the following command:

sudo yum install redis

5. Start the Redis service by running the following command:

sudo systemctl start redis

6. Enable Redis to start on server boot by running the following command:

sudo systemctl enable redis

7. Install Memcached by running the following command:

sudo yum install memcached

8. Start the Memcached service by running the following command:

sudo systemctl start memcached

9. Enable Memcached to start on server boot by running the following command:

sudo systemctl enable memcached

10. Verify that Redis and Memcached are running properly by running the following commands:

sudo systemctl status redis
sudo systemctl status memcached

Redis and Memcached should now be installed and running on your WHM/cPanel server. You can configure and utilize them based on your specific needs.

What’s the difference between Redis & Memcached?

Redis and Memcached are both popular in-memory caching systems, but they have some key differences:

  1. Data Structures: Redis provides a wider range of data structures, including strings, lists, sets, hashes, sorted sets, and more. This allows for more complex operations and data manipulation. Memcached, on the other hand, stores data as simple key-value pairs without built-in support for complex data structures.
  2. Persistence: Redis offers options for data persistence, allowing you to store data on disk and load it back into memory when needed. This makes Redis suitable for use cases where data durability is important. Memcached, on the other hand, does not have built-in persistence and operates solely in memory.
  3. Performance: Both Redis and Memcached are designed for high performance, but they have different underlying implementations that affect their performance characteristics. Memcached typically performs better with simple get/set operations, while Redis excels in scenarios that require more complex data operations and atomicity.
  4. Functionality: Redis provides additional features beyond caching, such as pub/sub messaging, transactions, scripting, and support for atomic operations. It can be used as a database as well as a cache. Memcached, on the other hand, focuses primarily on caching and does not provide these advanced features.
  5. Scalability: Both Redis and Memcached can scale horizontally by adding more servers to the caching pool. However, Memcached’s architecture is simpler and more straightforward, making it easier to set up and manage in large-scale deployments.
  6. Community and Ecosystem: Redis has a larger and more mature ecosystem with extensive community support, libraries, and tools built around it. It has a wider range of use cases and is often favored for its versatility. Memcached, while still widely used, has a slightly smaller community and ecosystem in comparison.

Choosing between Redis and Memcached depends on your specific requirements. If you need advanced data structures, persistence, and additional features, Redis may be a better fit. If simplicity, pure caching performance, and ease of deployment are your priorities, Memcached can be a suitable choice.