awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
memcached avatar

memcached/memcached

0
View on GitHub↗
14,132 estrellas·3,321 forks·C·bsd-3-clause·5 vistasmemcached.org↗

Memcached

Memcached is a high-performance, distributed, in-memory key-value storage and request routing engine. It functions as a volatile data store designed to accelerate dynamic applications by caching objects in RAM, thereby reducing backend database load and providing sub-millisecond response times. The system utilizes a specialized architecture that organizes memory into fixed-size slabs to minimize fragmentation and maximize throughput for high-concurrency workloads.

The project distinguishes itself through a multi-threaded, lock-friendly design that scales across CPU cores and supports complex distributed deployments. It incorporates consistent hashing to balance storage load across clusters and provides a sophisticated proxy layer for intelligent traffic management, including request batching, pool failover, and logical routing. These capabilities allow it to handle millions of operations per second while maintaining consistent performance under heavy network load.

Beyond its core storage functions, the system offers extensive operational tooling for monitoring cache efficiency, server health, and connection latency. It includes robust security features such as network traffic encryption, authentication mechanisms, and access restrictions to protect data in transit. The platform also supports dynamic configuration reloading and request processing customization, enabling administrators to tune service behavior and routing logic without requiring full service restarts.

Features

  • Distributed Caches - Partitions data across multiple server instances to scale storage capacity and balance request traffic.
  • Data Storage - Maintains a simple key-value store for raw data blobs with support for atomic increment and decrement operations.
  • Application Caching - Stores frequently accessed data in memory to reduce backend database load and improve application response times.
  • In-Memory Caches - Stores frequently accessed data in RAM across a cluster to reduce database load and achieve sub-millisecond response times.
  • Key-Value - Saves arbitrary data objects in memory to reduce database load and accelerate application response times.
  • Distributed Caching - Provides a request routing layer that manages backend server pools and load balancing for caching infrastructure.
  • In-Memory Data Stores - Provides a volatile storage engine with sub-millisecond response times for frequently accessed data.
  • Request Routing - Acts as a central proxy layer to distribute cache requests across multiple backend nodes for simplified maintenance.
  • Slab Allocators - Organizes memory into fixed-size chunks to prevent fragmentation and ensure predictable performance during high-frequency operations.
  • Consistent Hashing - Maps keys across a cluster of independent nodes to balance storage load and minimize data movement during scaling.
  • Data Fetching & Caching - Fetches one or more values by key, optionally including unique identifiers to track data versions.
  • Cache Eviction Policies - The product refreshes the priority of frequently accessed items in the memory store by attempting to add them again to move keys to the front of the queue.
  • Data Consistency Models - Prevents race conditions and ensures data integrity during concurrent read and write operations using version identifiers.
  • Least Recently Used Caches - Discards the least recently used items when memory capacity is reached to maintain high cache hit rates.
  • Data Modification APIs - Supports appending or prepending data to existing items and performing atomic increment or decrement operations.
  • Data Persistence - Saves key-value pairs in memory, allowing for unconditional overwrites or updates based on existing data presence.
  • Data Retrieval - Retrieves data records while simultaneously adjusting expiration timestamps or checking version identifiers to minimize network latency.
  • Lock-Free Map Structures - Uses atomic operations and granular locking to allow high-concurrency access to cached items without performance bottlenecks.
  • Configuration Hot-Reloading - Updates routing and pool definitions without restarting the service by propagating changes to worker environments.
  • Traffic Routing Proxies - Directs and balances cache traffic across multiple backend storage nodes to improve scalability and fault tolerance.
  • Request Proxies - Forwards client requests to multiple backend servers to improve load balancing and fault tolerance.
  • Event Loops - Distributes incoming client connections across worker threads using an asynchronous model to maximize CPU utilization.
  • Data Handling and Throughput - Delivers sub-millisecond response times for key lookups using an optimized, lock-friendly architecture.
  • Cache Invalidation Utilities - Removes specific entries from the cache to ensure subsequent requests fetch fresh data from the primary database.
  • Pool Failover Strategies - Maintains service availability by automatically routing requests to secondary pools when primary targets fail.
  • Database Engines - Distributed memory object caching system.
  • Stampede Mitigation - Coordinates concurrent client requests during cache misses by designating a single winner to refresh data.
  • Expiration Policies - Removes cached items based on defined timestamps or background scanning to ensure data freshness.
  • Atomic List Updaters - Modifies cached data structures by appending or prepending values directly to existing keys.
  • Cache Namespaces - Groups related cache entries into virtual namespaces by prepending coordinated strings to keys.
  • Request Routing - Directs traffic to specific backend pools based on key prefixes, command types, or listener ports.
  • Network Communication Implementations - Transmits information using efficient text-based formats to prevent traffic spikes and ensure data freshness.
  • Request Processing - Intercepts, modifies, or overrides standard operations before they reach the backend by hooking into command execution flows.
  • High-Concurrency Networking - Utilizes an event-based architecture to support hundreds of thousands of simultaneous client connections.
  • Protocol Parsers - Processes client commands through a lightweight, human-readable interface designed for minimal overhead.
  • Network Encryption - Secures data in transit between clients and the server using cryptographic protocols to prevent unauthorized access.
  • Secure Connection Handlers - Manages secure TLS-encrypted communication channels between proxy layers and backend storage nodes.
  • Cache Performance Metrics - Tracks hit rates, memory allocation, and server health metrics to optimize storage efficiency.
  • Failover Mechanisms - Redirects traffic from unresponsive backend nodes to a secondary pool to maintain availability during outages.
  • Data Caching - Overwrites existing cache entries with new data to keep the cache synchronized with the underlying data source.
  • Connection Pool Managers - Groups backend servers into logical pools to manage infrastructure and apply connection settings.
  • Existence Signals - Uses the presence or absence of a key as a lightweight signal for status flags or locks.
  • Atomic Counters - Supports atomic increment and decrement operations on stored integer values to track metrics without database round-trips.
  • Cache Management - Manages cache lifecycle by flushing items and updating expiration times to control data retention.
  • Cluster Management - Organizes cache servers into logical pools to manage data distribution and define failover priorities.
  • Thread Scaling - Distributes client connection handling across multiple worker threads to utilize available processing power efficiently.
  • Rate Limiters - Controls traffic volume sent to backend pools using token bucket algorithms to prevent resource overloading.
  • Sidecar Proxies - Deploys local proxy instances alongside applications to abstract key distribution and pool management.
  • Binary Key Encoders - Stores non-ASCII or compressed keys using base64 encoding to reduce memory overhead for large identifier sets.
  • Connection Managers - Configures maximum simultaneous client connections to maintain service responsiveness under high load.
  • Client Connection Distribution - Distributes incoming client connections across worker threads using round-robin strategies to balance CPU load.
  • Connection Authentication Mechanisms - Supports multi-step authentication handshakes to validate client identities during connection establishment.
  • Network Access Restrictions - Enforces network-level access restrictions by limiting server connectivity to specific IP addresses or interfaces.
  • Network Connection Security - Verifies identities of both clients and servers during the connection handshake to ensure secure data exchange.
  • Secure Network Communication - Protects cached data in transit using encryption and authentication within distributed infrastructure.
  • Cache Eviction Strategies - Discards existing cache entries when memory is exhausted to accommodate new data.
  • Server Configuration Management - Allows users to adjust logging verbosity and manage connection states to control server output.
  • Server Health Monitoring - Exposes statistical counters and performance metrics to track cache efficiency and network stability.
  • Stale Serving - Configures items to remain accessible after expiration to maintain service availability while background updates occur.
  • Application State Management - Maintains session data, locks, and atomic counters in memory to support high-concurrency workflows.
  • Mutation Handlers - Updates or replaces stored data with optional version checking to ensure consistency and prevent accidental overwrites.
  • Cache Timeout Management - Embeds custom timeout metadata to trigger background refresh logic before hard expiration occurs.
  • Cache Efficiency Analysis - Calculates hit rates and eviction patterns to determine cache effectiveness versus backend data sources.
  • Flash Extensions - Offloads data from volatile memory to persistent flash storage to increase total cache capacity.
  • Persistence Managers - Saves the in-memory cache to a file during shutdown and reloads it upon startup to maintain data availability.
  • Advisory Locking Mechanisms - Implements conditional key creation to prevent concurrent regeneration of expensive cache items.
  • Traffic Routing - Filters routing logic based on operation types to handle read and write commands differently.
  • Tiered Caching - Uses proxy nodes to manage multiple backend storage tiers for efficient data replication and retrieval.
  • Data Throughput Optimizers - Adjusts network capacity and item sizing to ensure high-speed data access while preventing bandwidth saturation.
  • Request Batching - Groups multiple requests from a single client into one read operation to minimize system calls and context switches.
  • Traffic Routing - Defines independent routing logic for different TCP ports to handle distinct traffic streams within a single instance.
  • DDoS Protections - Hardens network configurations and restricts access to mitigate traffic amplification and volumetric attacks.
  • Request Pipelines - Batches multiple commands into single network streams using tokens to track and match responses efficiently.
  • Metric and Performance Monitors - Tracks custom metrics and logs detailed request-response metadata to provide visibility into traffic patterns.
  • Request Traffic Monitors - Logs backend request metrics including latency and status codes to provide visibility into cache operations.
  • Server Monitors - Exposes internal counters and operational settings to provide visibility into cache usage and server health.
  • Reference Counting - Uses pool-based reference counting to ensure safe memory management and lock-free execution during high-concurrency operations.

Historial de estrellas

Gráfico del historial de estrellas de memcached/memcachedGráfico del historial de estrellas de memcached/memcached

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Memcached

Proyectos open-source similares, clasificados según cuántas características comparten con Memcached.
  • redis/go-redisAvatar de redis

    redis/go-redis

    22,159Ver en GitHub↗

    This project is a feature-rich Go client library designed for interacting with Redis. It serves as a comprehensive interface for managing remote data stores, enabling developers to execute standard database commands, handle complex data structures, and perform asynchronous operations within Go applications. The library distinguishes itself through its support for advanced Redis capabilities, including connection pooling, pipelining, and transactional integrity. It provides specialized primitives for managing distributed clusters, including automated topology updates and request routing to sha

    Gogogolangredis
    Ver en GitHub↗22,159
  • tporadowski/redisAvatar de tporadowski

    tporadowski/redis

    9,987Ver en GitHub↗

    Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL database. It provides sub-millisecond read and write access to data stored in RAM and can operate as a vector database for indexing high-dimensional embeddings. The system supports a wide range of data storage and synchronization primitives, including the management of strings, hashes, lists, sets, and JSON documents. It enables real-time data operations through atomic transactions, hybrid persistence using snapshots and append-only logs, and high-availability configurations

    Credisredis-for-windowsredis-msi-installer
    Ver en GitHub↗9,987
  • lmcache/lmcacheAvatar de LMCache

    LMCache/LMCache

    6,909Ver en GitHub↗

    LMCache is a distributed key-value cache manager and tiering system designed to accelerate large language model inference. It functions as a tiered storage layer that offloads tensors from GPU memory to CPU RAM, local disks, or remote object stores, enabling the reuse of cached prefixes across different inference sessions and serving engines. The system differentiates itself through a disaggregated prefill-decode model, which separates prompt processing from token generation by transferring caches between distributed compute nodes. It utilizes peer-to-peer orchestration to share and retrieve

    Pythonamdcudafast
    Ver en GitHub↗6,909
  • hazelcast/hazelcastAvatar de hazelcast

    hazelcast/hazelcast

    6,570Ver en GitHub↗

    Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis

    Javabig-datacachingdata-in-motion
    Ver en GitHub↗6,570
Ver las 30 alternativas a Memcached→

Preguntas frecuentes

¿Qué hace memcached/memcached?

Memcached is a high-performance, distributed, in-memory key-value storage and request routing engine. It functions as a volatile data store designed to accelerate dynamic applications by caching objects in RAM, thereby reducing backend database load and providing sub-millisecond response times. The system utilizes a specialized architecture that organizes memory into fixed-size slabs to minimize fragmentation and maximize throughput for high-concurrency workloads.

¿Cuáles son las características principales de memcached/memcached?

Las características principales de memcached/memcached son: Distributed Caches, Data Storage, Application Caching, In-Memory Caches, Key-Value, Distributed Caching, In-Memory Data Stores, Request Routing.

¿Qué alternativas de código abierto existen para memcached/memcached?

Las alternativas de código abierto para memcached/memcached incluyen: redis/go-redis — This project is a feature-rich Go client library designed for interacting with Redis. It serves as a comprehensive… tporadowski/redis — Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL… lmcache/lmcache — LMCache is a distributed key-value cache manager and tiering system designed to accelerate large language model… hazelcast/hazelcast — Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to… dgraph-io/ristretto — Ristretto is a high-performance in-memory cache and concurrent key-value store for Go applications. It provides a… facebook/rocksdb — RocksDB is a high-performance, embeddable persistent key-value library and storage engine based on Log-Structured…