module RedisLocks
Constants
- VERSION
Public Class Methods
evalsha_or_eval(conn:, script:, digest:, keys: [], args: [])
click to toggle source
This ensures that each Lua script is evaluated at most once; after it has been evaluated, we will be able to call it just by passing its digest.
# File lib/redis_locks/evalsha_or_eval.rb, line 5 def self.evalsha_or_eval(conn:, script:, digest:, keys: [], args: []) conn.evalsha digest, keys, args rescue Redis::CommandError => e if e.message.start_with?('NOSCRIPT') conn.eval script, keys, args else raise end end
redis()
click to toggle source
# File lib/redis_locks.rb, line 16 def self.redis raise "RedisLocks.redis is not set!" unless @redis @redis end
redis=(redis)
click to toggle source
# File lib/redis_locks.rb, line 12 def self.redis=(redis) @redis = Connections.ensure_pool(redis) end