Skip to content

Commit

Permalink
Use Redis#pipelined with block
Browse files Browse the repository at this point in the history
The version without the block causes exccessive logging since redis/redis-rb#1059
  • Loading branch information
johnsyweb committed Apr 29, 2022
1 parent cd9c855 commit a900beb
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 20 deletions.
18 changes: 9 additions & 9 deletions lib/fresh_redis/hash.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ def fhset(key, hash_key, value, options={})
def fhget(key, hash_key, options={})
key = build_key(key, options)

bucket_values = @redis.pipelined {
bucket_values = @redis.pipelined do |pipeline|
key.timestamp_buckets.reverse.each do |bucket_key|
@redis.hget(bucket_key, hash_key)
pipeline.hget(bucket_key, hash_key)
end
}
end

# find the first non-nil value
bucket_values.find{|e| e }
Expand All @@ -25,11 +25,11 @@ def fhget(key, hash_key, options={})
def fhgetall(key, options={})
key = build_key(key, options)

bucket_values = @redis.pipelined {
bucket_values = @redis.pipelined do |pipeline|
key.timestamp_buckets.each do |bucket_key|
@redis.hgetall(bucket_key)
pipeline.hgetall(bucket_key)
end
}
end

merged_values = bucket_values.inject({}){ |acc, bucket_hash|
acc.merge(bucket_hash)
Expand All @@ -41,11 +41,11 @@ def fhgetall(key, options={})
def fhdel(key, hash_key, options={})
key = build_key(key, options)

bucket_values = @redis.pipelined {
bucket_values = @redis.pipelined do |pipeline|
key.timestamp_buckets.each do |bucket_key|
@redis.hdel(bucket_key, hash_key)
pipeline.hdel(bucket_key, hash_key)
end
}
end
end
end
end
18 changes: 9 additions & 9 deletions lib/fresh_redis/set.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ def fsadd(key, value, options={})
def fsmembers(key, options={})
key = build_key(key, options)

bucket_values = @redis.pipelined {
bucket_values = @redis.pipelined do |pipeline|
key.timestamp_buckets.reverse.each do |bucket_key|
@redis.smembers(bucket_key)
pipeline.smembers(bucket_key)
end
}
end

# find the first non-nil value
bucket_values.flatten.uniq
Expand All @@ -25,11 +25,11 @@ def fsmembers(key, options={})
def fsismembers(key, value, options={})
key = build_key(key, options)

bucket_values = @redis.pipelined {
bucket_values = @redis.pipelined do |pipeline|
key.timestamp_buckets.reverse.each do |bucket_key|
return true if @redis.sismembers(bucket_key, value)
return true if pipeline.sismembers(bucket_key, value)
end
}
end

# find the first non-nil value
return false
Expand All @@ -38,11 +38,11 @@ def fsismembers(key, value, options={})
def fsrem(key, value, options={})
key = build_key(key, options)

bucket_values = @redis.pipelined {
bucket_values = @redis.pipelined do |pipeline|
key.timestamp_buckets.reverse.each do |bucket_key|
@redis.srem(bucket_key, value)
pipeline.srem(bucket_key, value)
end
}
end
end
end
end
4 changes: 2 additions & 2 deletions lib/fresh_redis/string.rb
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ def fdecrby(key, decrement, options={})

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

0 comments on commit a900beb

Please sign in to comment.