Module: FreshRedis::String

Included in:
FreshRedis
Defined in:
lib/fresh_redis/string.rb

Instance Method Summary collapse

Instance Method Details

#fdecr(key, options = {}) ⇒ Object



23
24
25
# File 'lib/fresh_redis/string.rb', line 23

def fdecr(key, options={})
  fincrby(key, -1, options)
end

#fdecrby(key, decrement, options = {}) ⇒ Object



27
28
29
# File 'lib/fresh_redis/string.rb', line 27

def fdecrby(key, decrement, options={})
  fincrby(key, -1 * decrement, options)
end

#fincr(key, options = {}) ⇒ Object



11
12
13
# File 'lib/fresh_redis/string.rb', line 11

def fincr(key, options={})
  fincrby(key, 1, options)
end

#fincrby(key, increment, options = {}) ⇒ Object



3
4
5
6
7
8
9
# File 'lib/fresh_redis/string.rb', line 3

def fincrby(key, increment, options={})
  key = build_key(key, options)
  @redis.multi do
    @redis.incrby(key.redis_key, increment)
    @redis.expire(key.redis_key, key.freshness)
  end
end

#fincrbyfloat(key, increment, options = {}) ⇒ Object



15
16
17
18
19
20
21
# File 'lib/fresh_redis/string.rb', line 15

def fincrbyfloat(key, increment, options={})
  key = build_key(key, options)
  @redis.multi do
    @redis.incrbyfloat(key.redis_key, increment)
    @redis.expire(key.redis_key, key.freshness)
  end
end

#fsum(key, options = {}) ⇒ Object



31
32
33
34
35
36
37
38
39
40
# File 'lib/fresh_redis/string.rb', line 31

def fsum(key, options={})
  key = build_key(key, options)
  @redis.pipelined {
    key.timestamp_buckets.each do |bucket_key|
      @redis.get(bucket_key)
    end
  }.reduce(0){|acc, value|
    value ? acc + value.to_f : acc
  }
end