mirror of
https://github.com/dkam/suo.git
synced 2025-01-29 07:42:43 +00:00
on second thought, remove confusing language
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
# Suo [](https://travis-ci.org/nickelser/suo) [](https://codeclimate.com/github/nickelser/suo) [](https://codeclimate.com/github/nickelser/suo) [](http://badge.fury.io/rb/suo)
|
# Suo [](https://travis-ci.org/nickelser/suo) [](https://codeclimate.com/github/nickelser/suo) [](https://codeclimate.com/github/nickelser/suo) [](http://badge.fury.io/rb/suo)
|
||||||
|
|
||||||
:lock: Distributed locks using Memcached or Redis in Ruby.
|
:lock: Distributed semaphores using Memcached or Redis in Ruby.
|
||||||
|
|
||||||
Suo provides a very performant distributed lock solution using Compare-And-Set (`CAS`) commands in Memcached, and `WATCH/MULTI` in Redis. It allows locking both single exclusion (a mutex - sharing one resource), and multiple resources.
|
Suo provides a very performant distributed lock solution using Compare-And-Set (`CAS`) commands in Memcached, and `WATCH/MULTI` in Redis. It allows locking both single exclusion (like a mutex - sharing one resource), as well as multiple resources.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
@@ -70,10 +70,6 @@ suo.lock("foo") do |lock|
|
|||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
||||||
## Semaphore
|
|
||||||
|
|
||||||
With multiple resources, Suo acts like a semaphore, but is not strictly a semaphore according to the traditional definition, as the lock acquires ownership.
|
|
||||||
|
|
||||||
## TODO
|
## TODO
|
||||||
- more race condition tests
|
- more race condition tests
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|||||||
spec.email = ["nick.elser@gmail.com"]
|
spec.email = ["nick.elser@gmail.com"]
|
||||||
|
|
||||||
spec.summary = %q(Distributed locks using Memcached or Redis.)
|
spec.summary = %q(Distributed locks using Memcached or Redis.)
|
||||||
spec.description = %q(Distributed locks using Memcached or Redis.)
|
spec.description = %q(Distributed locks (mutexes & semaphores) using Memcached or Redis.)
|
||||||
spec.homepage = "https://github.com/nickelser/suo"
|
spec.homepage = "https://github.com/nickelser/suo"
|
||||||
spec.license = "MIT"
|
spec.license = "MIT"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user