yrmcds is a memory object caching system with master/slave replication.

Currently, yrmcds supports two protocols: the first is an enhanced memcached, and another is a protocol to implement distributed resource counters.

Since the memcached protocol is perfectly compatible with the original implementation, yrmcds can be used as a drop-in replacement for memcached. Thanks to its virtual-IP based replication system, existing applications can obtain high-available memcached-compatible service without any modifications.

A companion client library libyrmcds and a PHP extension are also available.

yrmcds was developed originally for kintone.com.

Features

Complete memcached text and binary protocols with these extensions: Server-side locking Dump keys

Distributed resource counter protocol.

Optional memory security to store confidential information like SSL session data.

Large objects can be stored in temporary files, not in memory.

Virtual-IP based master-slave replication. Automatic fail-over Automatic recovery of redundancy.

Global LRU eviction / no slab distribution problem. Unlike memcached, yrmcds is not involved with slabs problems. (1, 2)



Documentation

HTML manual is available here.

About the name

The name yrmcds was taken from "Ymmt's Replicating MemCacheD for Sessions".

As it reads, yrmcds was developed mainly for session storage.

The correct pronunciation sounds like: "Yo-Ru-Mac-Do" (夜マクド in Japanese).

License

yrmcds is licensed under the BSD 2-clause license.

The source code contains a SipHash implementation borrowed from csiphash which is licensed under the MIT license.