DEV Community

Burak Sezer
Burak Sezer

Posted on

Olric: Distributed cache and in-memory key/value data store. Embedded or language independent service.

What is Olric?

Distributed cache and in-memory key/value data store in Go. It can be used both as an embedded Go library and as a language-independent service.

With Olric, you can instantly create a fast, scalable, shared pool of RAM across a cluster of computers.

Basic features:

  • Designed to share some transient, approximate, fast-changing data between servers,
  • Embeddable but can be used as a language-independent service with olricd,
  • Supports different eviction algorithms,
  • Fast binary protocol,
  • Highly available and horizontally scalable,
  • Provides best-effort consistency guarantees without being a complete CP (indeed PA/EC) solution,
  • Supports replication by default (with sync and async options),
  • Quorum-based voting for replica control (Read/Write quorums),
  • Supports atomic operations,
  • Supports distributed queries on keys,
  • Provides a plugin interface for service discovery daemons,
  • Provides a locking primitive which inspired by SETNX of Redis.

See installation docs: [https://github.com/buraksezer/olric#installing]

See how to use distributed maps in your application: https://github.com/buraksezer/olric#sample-code

For more info, please take a look at GitHub page: https://github.com/buraksezer/olric

Top comments (0)