method
change_counter
v7.1.3.4 -
Show latest stable
- Class:
ActiveSupport::Cache::RedisCacheStore
change_counter(key, amount, options)private
No documentation available.
# File activesupport/lib/active_support/cache/redis_cache_store.rb, line 444
def change_counter(key, amount, options)
redis.then do |c|
c = c.node_for(key) if c.is_a?(Redis::Distributed)
expires_in = options[:expires_in]
if expires_in
if supports_expire_nx?
count, _ = c.pipelined do |pipeline|
pipeline.incrby(key, amount)
pipeline.call(:expire, key, expires_in.to_i, "NX")
end
else
count, ttl = c.pipelined do |pipeline|
pipeline.incrby(key, amount)
pipeline.ttl(key)
end
c.expire(key, expires_in.to_i) if ttl < 0
end
else
count = c.incrby(key, amount)
end
count
end
end