awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
go-redsync avatar

go-redsync/redsync

0
View on GitHub↗
4,026 stars·344 forks·Go·BSD-3-Clause·21 viewsredis.io/topics/distlock↗

Redsync

Redsync is a distributed lock manager and Go Redis client extension designed to ensure exclusive access to shared resources. It implements mutual exclusion across multiple processes by using a Redis backend to coordinate synchronization and prevent race conditions in distributed environments.

The library maintains lock validity through quorum-based consensus, requiring successful writes to a majority of independent Redis nodes. It utilizes Lua-scripted atomic operations for acquisition and release, while employing value-based ownership validation and time-to-live expiration to prevent deadlocks.

The project provides capabilities for distributed coordination and application synchronization, utilizing client-side retry polling to manage resource acquisition timeouts.

Features

  • Distributed Locks - Provides a mechanism for coordinating exclusive access to shared resources across distributed processes using Redis.
  • Distributed Exclusive Locking - Prevents multiple processes from accessing a shared resource simultaneously using a remote key-value store to manage exclusive locks.
  • Lua Scripting - Uses Lua scripting to execute lock acquisition and release as atomic operations on the Redis server.
  • Quorum Voting - Ensures lock validity by requiring a majority of independent Redis nodes to approve the acquisition via quorum voting.
  • Redis-Based Lock Storage - Utilizes a remote Redis key-value store to track lock states and expiration timestamps across distributed processes.
  • Lock Expiration Policies - Prevents deadlocks by associating a time-to-live value with every lock to ensure automatic expiration if the owner fails.
  • Mutual Exclusion Locks - Ensures mutual exclusion so that only one process across a cluster executes a specific piece of logic at a time.
  • Distributed Task Coordination - Uses Redis to synchronize tasks and state between decoupled components to prevent resource exhaustion and race conditions.
  • Lock Ownership Validation - Associates a unique identifier with each lock to ensure that only the original owner can release the resource.
  • Go Distributed Synchronization - Manages concurrent access to shared data across multiple Go service instances to prevent race conditions.
  • Lock Acquisition Retries - Implements a client-side retry loop to manage resource acquisition timeouts when attempting to obtain a distributed lock.
  • Database Tools - Distributed locks based on Redis.

Star history

Star history chart for go-redsync/redsyncStar history chart for go-redsync/redsync

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does go-redsync/redsync do?

Redsync is a distributed lock manager and Go Redis client extension designed to ensure exclusive access to shared resources. It implements mutual exclusion across multiple processes by using a Redis backend to coordinate synchronization and prevent race conditions in distributed environments.

What are the main features of go-redsync/redsync?

The main features of go-redsync/redsync are: Distributed Locks, Distributed Exclusive Locking, Lua Scripting, Quorum Voting, Redis-Based Lock Storage, Lock Expiration Policies, Mutual Exclusion Locks, Distributed Task Coordination.

What are some open-source alternatives to go-redsync/redsync?

Open-source alternatives to go-redsync/redsync include: redis/rueidis — Rueidis is a high-performance Redis client library for Go that provides a type-safe and asynchronous interface for… redisson/redisson — Redisson is a Java library and Redis client that functions as a distributed Java object mapper, caching provider, and… lukas-krecan/shedlock — ShedLock is a distributed lock manager designed to prevent scheduled tasks from running concurrently across multiple… tporadowski/redis — Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL… bogdanp/dramatiq — Dramatiq is a distributed task queue and workload manager used to offload function execution to background workers. It… taskforcesh/bullmq — BullMQ is a Redis-backed message queue library and background processor designed for distributed task queueing. It…

Open-source alternatives to Redsync

Similar open-source projects, ranked by how many features they share with Redsync.
  • redis/rueidisredis avatar

    redis/rueidis

    2,899View on GitHub↗

    Rueidis is a high-performance Redis client library for Go that provides a type-safe and asynchronous interface for interacting with Redis servers. It includes a full implementation of the Redis serialization protocol and a dedicated connection manager to handle pooling, multiplexing, and automatic pipelining. The library is distinguished by its support for RDMA connectivity to reduce latency and CPU overhead. It features a distributed lock manager that implements majority-based locking and optimistic concurrency control, as well as client-side caching with invalidation signals to minimize net

    Gocacheclient-side-cachingdistributed
    View on GitHub↗2,899
  • redisson/redissonredisson avatar

    redisson/redisson

    24,355View on GitHub↗

    Redisson is a Java library and Redis client that functions as a distributed Java object mapper, caching provider, and locking framework. It maps Java collections and concurrency primitives to distributed implementations backed by Redis and Valkey, providing synchronous, asynchronous, and reactive APIs for interacting with these data stores. The project distinguishes itself by providing a comprehensive suite of distributed coordination tools, including a locking framework for managing semaphores and countdown latches across multiple application nodes. It also serves as a distributed messaging

    Java
    View on GitHub↗24,355
  • lukas-krecan/shedlocklukas-krecan avatar

    lukas-krecan/ShedLock

    4,170View on GitHub↗

    ShedLock is a distributed lock manager designed to prevent scheduled tasks from running concurrently across multiple nodes in a distributed system. It acts as a task coordinator that ensures a single execution of timed jobs by managing lock lifespans and utilizing external lock providers. The system utilizes database-backed providers to store task execution states in external databases, synchronizing locks across active cluster nodes. It includes a clock-drift tolerant synchronizer that handles time discrepancies between distributed nodes through the use of shared timestamps and flexible lock

    Java
    View on GitHub↗4,170
  • tporadowski/redistporadowski avatar

    tporadowski/redis

    9,987View on 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
    View on GitHub↗9,987
See all 30 alternatives to Redsync→