method

change_counter

Importance_0
v7.1.3.2 - Show latest stable - 0 notes - Class: RedisCacheStore
change_counter(key, amount, options) private

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# 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
Register or log in to add new notes.