Module: Redis::Commands::Transactions
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
| Included In: | |
| Defined in: | lib/redis/commands/transactions.rb | 
Instance Method Summary
- 
    
      #discard  ⇒ String 
    
    Discard all commands issued after MULTI. 
- 
    
      #exec  ⇒ nil, Array<...> 
    
    Execute all commands issued after MULTI. 
- 
    
      #multi {|multi| ... } ⇒ Array<...> 
    
    Mark the start of a transaction block. 
- 
    
      #unwatch  ⇒ String 
    
    Forget about all watched keys. 
- 
    
      #watch(*keys)  ⇒ Object, String 
    
    Watch the given keys to determine execution of the MULTI/EXEC block. 
Instance Method Details
    #discard  ⇒ String 
  
Discard all commands issued after MULTI.
# File 'lib/redis/commands/transactions.rb', line 110
def discard send_command([:discard]) end
    #exec  ⇒ nil, Array<...> 
  
Execute all commands issued after MULTI.
Only call this method when #multi was called without a block.
# File 'lib/redis/commands/transactions.rb', line 100
def exec send_command([:exec]) end
    #multi {|multi| ... } ⇒ Array<...> 
  
Mark the start of a transaction block.
# File 'lib/redis/commands/transactions.rb', line 23
def multi synchronize do |client| client.multi do |raw_transaction| yield MultiConnection.new(raw_transaction) end end end
    #unwatch  ⇒ String 
  
Forget about all watched keys.
# File 'lib/redis/commands/transactions.rb', line 86
def unwatch send_command([:unwatch]) end
    #watch(*keys)  ⇒ Object, String 
  
Watch the given keys to determine execution of the MULTI/EXEC block.
Using a block is optional, but is necessary for thread-safety.
An #unwatch is automatically issued if an exception is raised within the
block that is a subclass of StandardError and is not a ::Redis::ConnectionError.
# File 'lib/redis/commands/transactions.rb', line 61
def watch(*keys) synchronize do |client| res = client.call_v([:watch] + keys) if block_given? begin yield(self) rescue ConnectionError raise rescue StandardError unwatch raise end else res end end end