Help Center > > Service Overview> Selecting a Cache Engine> Comparing Redis and Memcached

Comparing Redis and Memcached

Updated at: Mar 17, 2020 GMT+08:00

Redis and Memcached are both popular open-source in-memory databases which are easy to use and provide higher performance than relational databases.

How can I select between the two key-value databases?

Memcached is suitable for storing simple data structures that do not require data persistence, whereas Redis is suitable for storing more complex, larger data that requires persistency.

For details, see the following table.

Table 1 Differences between Redis and Memcached

Item

Redis

Memcached

Latency

In-memory database with sub-millisecond latency

In-memory database with sub millisecond latency

Ease of use

Simple syntax and easy to use

Simple syntax and easy to use

Distributed storage

Horizontal expansion in cluster mode

Supported

Multi-language client

Supports client connections in more than 30 languages including Java, C, and Python.

Supports client connections in more than 10 languages including Java, C, and Python.

Thread/Process

Single-core and single-thread

Single-thread communication, avoiding unnecessary context switching and contention

Non-blocking I/O (I/O multiplexing) is used to reduce resource consumption when multiple clients are connected.

Multi-thread and scalable

The Memcached performance can be improved by increasing the number of CPUs.

There is an obvious performance advantage in the scenario where the value of key is great.

Persistent storage

Supported

Each write operation (adding, deleting, or modifying data) can be recorded on disk (AOF file).

Not supported

Data structure

Supports complex data structures such as hash, list, set, and sorted set, catering to various scenarios.

Supports simple strings.

Lua script support

Supported

Not supported

Snapshot backup

Supported

Snapshots are generated periodically. Therefore, there is no guarantee that data will not be lost.

Redis forks a subprocess to generate snapshots. When there is a large amount of data, the Redis service may be interrupted for a short time.

Not supported

Data migration

Supported

Data can be backed up and migrated to a new Redis instance through RDB snapshot restoration or AOF file playback.

Not supported because data backup and persistence are not supported.

The data processing efficiency of the Memcached is higher because persistence is not required.

Key value restriction

The value of a key can be up to 1 GB.

1 MB

Multiple databases

Supports up to 256 Redis databases.

Not supported

Based on the preceding comparison, both the Redis and Memcached are easy to use and have high performance. However, Redis and Memcached are different in data structure storage, persistence, backup, migration, and script support. You are advised to select the most appropriate cache engine based on actual application scenarios.

Memcached is suitable for caching scenarios of small amount of static data, where data is only read without further computing and processing, for example, HTML code snippets.

Redis has richer data structures and wider application scenarios.

Did you find this page helpful?

Submit successfully!

Thank you for your feedback. Your feedback helps make our documentation better.

Failed to submit the feedback. Please try again later.

Which of the following issues have you encountered?







Please complete at least one feedback item.

Content most length 200 character

Content is empty.

OK Cancel