Module: Couchbase::Operations::Touch
- Defined in:
- lib/couchbase/operations/touch.rb
Instance Method Summary collapse
- #async_touch(key, ttl) ⇒ Object
-
#touch(*args) ⇒ Object
Update the expiry time of an item.
Instance Method Details
#async_touch(key, ttl) ⇒ Object
91 92 93 94 95 96 97 |
# File 'lib/couchbase/operations/touch.rb', line 91 def async_touch(key, ttl) if block_given? register_future(client.touch(key, ttl), { op: :touch }, &Proc.new) else client.touch(key, ttl) end end |
#touch(key, options = {}) {|ret| ... } ⇒ true, false #touch(keys) {|ret| ... } ⇒ Hash
Update the expiry time of an item
The touch method allow you to update the expiration time on a given key. This can be useful for situations where you want to prevent an item from expiring without resetting the associated value. For example, for a session database you might want to keep the session alive in the database each time the user accesses a web page without explicitly updating the session value, keeping the user’s session active and available.
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/couchbase/operations/touch.rb', line 67 def touch(*args) sync_block_error if !async? && block_given? key, ttl, = (args) case key when String, Symbol if async? if block_given? async_touch(key, ttl, &Proc.new) else async_touch(key, ttl) end else success = client_touch(key, ttl) not_found_error(!success, ) success end when Hash multi_touch_hash(key, ) when Array multi_touch_array(key, ) end end |