Memcached - distributed object caching system

  •        5431

Memcached is high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load. Memcached 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.

Memcached is simple yet powerful. Its simple design promotes quick deployment, ease of development, and solves many problems facing large data caches. Its API is available for most popular languages.

Memcaached is used in LiveJournel, Wikipedia, Flickr, Bebo, Twitter, Youtube, Digg, etc.

http://memcached.org/

Tags
Implementation
License
Platform

   




Related Projects

Ehcache

  •    Java

Ehcache is an open source, standards-based cache used to boost performance, offload the database and simplify scalability. Ehcache is robust, proven and full-featured and this has made it the most widely-used Java-based cache.

Hyperdex - A Searchable Distributed Key-Value Store

  •    C++

HyperDex is a distributed, searchable key-value store. HyperDex provides a unique search primitive which enables searches over stored values. By design, HyperDex retains the performance of traditional key-value stores while enabling support for the search operation. It is fast, scalable, Consistent, Fault tolerant.

membase - distributed key-value database

  •    C

Membase is an distributed, key-value database management system optimized for storing data behind interactive web applications. These applications must service many concurrent users, creating, storing, retrieving, aggregating, manipulating and presenting data in real-time. Supporting these requirements, membase processes data operations with quasi-deterministic low latency and high sustained throughput.

Cacheonix - Open Source Java Cache

  •    Java

Cacheonix is an Open Source Java cache that allows developers to scale applications horizontally by providing a highly concurrent local cache and a strictly consistent distributed cache. It supports Distributed cache, Web application cache, Distributed lock, Second level (L2) cache.

Dynomite - Making Non-Distributed Databases, Distributed

  •    C

Dynomite, inspired by Dynamo whitepaper, is a thin, distributed dynamo layer for different storages and protocols. Dynomite is a sharding and replication layer. Dynomite can make existing non distributed datastores, such as Redis or Memcached, into a fully distributed & multi-datacenter replicating datastore.


Infinispan - Key value NOSQL data store and data grid

  •    Java

Infinispan is an extremely scalable, highly available key/value NoSQL datastore and distributed data grid platform. The purpose of Infinispan is to expose a data structure that is highly concurrent, designed ground-up to make the most of modern multi-processor/multi-core architectures while at the same time providing distributed cache capabilities. Infinispan offers enterprise features such as efficient eviction algorithms to control memory usage as well as JTA compatibility.

catbox - Multi-strategy object caching service

  •    Javascript

catbox is a multi-strategy key-value object store. It comes with extensions supporting a memory cache, Redis, MongoDB, Memcached, Riak, Amazon S3, RethinkDB, Couchbase, Aerospike and LevelDB.catbox provides two interfaces: a low-level Client and a high-level Policy.

cache2k – High Performance Java Caching

  •    Java

cache2k focuses on providing a well engineered in-memory object cache implementation for Java applications.

Chronicle Map - High performance, off-heap, key-value, in memory, persisted data store

  •    Java

Chronicle Map is a high performance, off-heap, key-value, in memory, persisted data store. It works like a standard java map yet it automatically distributes data between processes, these processes can be both on the same server or across your network. In other words its a low latency, huge data key value store, which can store terabytes of data locally to your process.

YapDatabase - YapDatabase is an extensible database for iOS & Mac.

  •    Objective-C

Concurrency. You can read from the database while another thread is simultaneously making modifications to the database. So you never have to worry about blocking the main thread, and you can easily write to the database on a background thread. And, of course, you can read from the database on multiple threads simultaneously. Built-In Caching. A configurable object cache is built-in. Of course sqlite has caching too. But it's caching raw serialized bytes, and we're dealing with objects. So having a built-in cache means you can skip the deserialization process, and get your objects much faster.

Caffeine - A high performance caching library for Java 8

  •    Java

Caffeine is a high performance, near optimal caching library based on Java 8. It provides an in-memory cache using a Google Guava inspired API.

nodecache - a node internal caching module

  •    CoffeeScript

A simple caching module that has set, get and delete methods and works a little bit like memcached. Keys can have a timeout (ttl) after which they expire and are deleted from the cache. All keys are stored in a single object so the practical limit is at around 1m keys. Since 4.1.0: Key-validation: The keys can be given as either string or number, but are casted to a string internally anyway. All other types will either throw an error or call the callback with an error.

Apache Ignite - High performance in-memory data grid

  •    Java

Apache Ignite In-Memory Data Fabric is a high-performance, integrated and distributed in-memory platform for computing and transacting on large-scale data sets in real-time, orders of magnitude faster than possible with traditional disk-based or flash technologies.

Apache Geode - Distributed, In-memory Database for Scale-Out Applications

  •    Java

Apache Geode is distributed, in-memory database for scale-out applications. All data is stored in-memory for low latency. Performance scales linearly as nodes are added. Data is distributed automatically between nodes to optimize performance. Clusters fail-over to other nodes in case of failures, and rebalance remaining resources. Geode servers can be configured to talk memcached protocol.

Apache Commons JCS - Java Caching System

  •    Java

JCS is a distributed caching system written in java. It is intended to speed up applications by providing a means to manage cached data of various dynamic natures. Its feature include Memory management, Element grouping, Data expiration, UDP Discovery of other caches, Key pattern matching retrieval, Remote server chaining (or clustering) and failover, Remote synchronization, Region data separation and configuration and lot more.

Redisson - Redis based In-Memory Data Grid for Java

  •    Java

Redisson - distributed Java objects and services (Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Executor service, Tomcat Session Manager, Scheduler service, JCache API) on top of Redis server. Rich Redis client.

JetCache - Java cache abstraction which provides consistent use for various caching solutions

  •    Java

JetCache is a Java cache abstraction which provides consistent use for various caching solutions. Presently it support Redis and Alibaba Tair and Caffeine cache as embedded cache.

bigcache - Efficient cache for gigabytes of data written in Go.

  •    Go

Fast, concurrent, evicting in-memory cache written to keep big number of entries without impact on performance. BigCache keeps entries on heap but omits GC for them. To achieve that operations on bytes arrays take place, therefore entries (de)serialization in front of the cache will be needed in most use cases.

Stash - A PHP Caching Library

  •    PHP

Stash makes it easy to speed up your code by caching the results of expensive functions or code. Certain actions, like database queries or calls to external APIs, take a lot of time to run but tend to have the same results over short periods of time. This makes it much more efficient to store the results and call them back up later.

identity_cache - IdentityCache is a blob level caching solution to plug into ActiveRecord

  •    Ruby

Opt in read through ActiveRecord caching used in production and extracted from Shopify. IdentityCache lets you specify how you want to cache your model objects, at the model level, and adds a number of convenience methods for accessing those objects through the cache. Memcached is used as the backend cache store, and the database is only hit when a copy of the object cannot be found in Memcached.IdentityCache keeps track of the objects that have cached indexes and uses an after_commit hook to expire those objects, and any up the tree, when they are changed.