What is Olric?
Olric provides a simple way to create a fast, scalable, and shared pool of RAM across a cluster of machines.
It's a distributed, in-memory key/value store and cache, written entirely in Go and designed specifically for distributed environments.
Flexible Deployment:
- Embedded Go Library: Integrate Olric directly into your Go applications.
- Standalone Service: Run Olric as a language-independent service.
Key Features:
- Effortless Scalability: Designed to handle hundreds of members and thousands of clients. New nodes auto-discover the cluster and linearly increase capacity.
- Automatic Distribution: Provides partitioning (sharding) and data re-balancing out-of-the-box, requiring no external coordination services. Data and backups are automatically balanced when capacity is added.
- Wide Client Support: Uses the standard Redis Serialization Protocol (RESP), ensuring client libraries are available in nearly all major programming languages.
- Common Use Cases: Ideal for distributed caching, managing application cluster state, and implementing publish-subscribe messaging.
See Docker and Samples sections to get started!
Join our Discord server!
This release includes the following fixes and improvements:
-
Improved read performance with parallelized quorum fetches
WhenReadQuorum > 1
, Olric now fetches key/value pairs from replicas in parallel rather than sequentially. This significantly reduces read latency in distributed deployments, especially under high load or when some nodes are slow to respond. -
Parallelized read repair for faster consistency convergence
The read-repair mechanism, which ensures consistency across replicas after a read, has been optimized to run in parallel. This enhancement speeds up data convergence and reduces blocking time for read operations that trigger repairs. -
Implemented AUTH command for password-based authentication
Introduced support for a Redis-compatibleAUTH
command. This allows clients to authenticate using a configured password before issuing any commands. It's primarily designed for environments requiring lightweight access control and is compatible with RESP clients supporting the AUTH command.