Class: Dalli::PipelinedDeleter
- Inherits:
-
Object
- Object
- Dalli::PipelinedDeleter
- Defined in:
- lib/dalli/pipelined_deleter.rb
Overview
Contains logic for the pipelined delete operations implemented by the client. Efficiently deletes multiple keys by grouping requests by server and using quiet mode to minimize round trips.
Instance Method Summary collapse
-
#initialize(ring, key_manager) ⇒ PipelinedDeleter
constructor
A new instance of PipelinedDeleter.
-
#process(keys) ⇒ void
Deletes multiple keys from memcached.
Constructor Details
#initialize(ring, key_manager) ⇒ PipelinedDeleter
Returns a new instance of PipelinedDeleter.
10 11 12 13 |
# File 'lib/dalli/pipelined_deleter.rb', line 10 def initialize(ring, key_manager) @ring = ring @key_manager = key_manager end |
Instance Method Details
#process(keys) ⇒ void
This method returns an undefined value.
Deletes multiple keys from memcached.
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/dalli/pipelined_deleter.rb', line 21 def process(keys) return if keys.empty? @ring.lock do servers = setup_requests(keys) finish_requests(servers) end rescue NetworkError => e Dalli.logger.debug { e.inspect } Dalli.logger.debug { 'retrying pipelined deletes because of network error' } retry end |