From d93556509928d99b3a17fc3dc06dfe37e2799c77 Mon Sep 17 00:00:00 2001 From: Benoit Goyette <135301+benoitgoyette@users.noreply.github.com> Date: Mon, 10 Feb 2025 14:58:21 -0500 Subject: [PATCH] modified redis pipeline invocations --- .gitignore | 1 + lib/redis/list.rb | 12 ++++++------ lib/redis/sorted_set.rb | 12 ++++++------ 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 39b87486..178300aa 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ Gemfile.lock redis-objects-*.gem coverage/ .DS_Store +.idea/ diff --git a/lib/redis/list.rb b/lib/redis/list.rb index 2b06f90f..4ecf073c 100644 --- a/lib/redis/list.rb +++ b/lib/redis/list.rb @@ -31,9 +31,9 @@ def push(*values) # Remove a member from the end of the list. Redis: RPOP def pop(n=nil) if n - result, = redis.multi do - redis.lrange(key, -n, -1) - redis.ltrim(key, 0, -n - 1) + result, = redis.multi do |pipeline| + pipeline.lrange(key, -n, -1) + pipeline.ltrim(key, 0, -n - 1) end unmarshal result else @@ -65,9 +65,9 @@ def unshift(*values) # Remove a member from the start of the list. Redis: LPOP def shift(n=nil) if n - result, = redis.multi do - redis.lrange(key, 0, n - 1) - redis.ltrim(key, n, -1) + result, = redis.multi do |pipeline| + pipeline.lrange(key, 0, n - 1) + pipeline.ltrim(key, n, -1) end unmarshal result else diff --git a/lib/redis/sorted_set.rb b/lib/redis/sorted_set.rb index 5b7cac17..c6df6dcd 100644 --- a/lib/redis/sorted_set.rb +++ b/lib/redis/sorted_set.rb @@ -204,11 +204,11 @@ def intersection(*sets) result = nil temp_key = :"#{key}:intersection:#{Time.current.to_i + rand}" - redis.multi do + redis.multi do |pipeline| interstore(temp_key, *sets) - redis.expire(temp_key, 1) + pipeline.expire(temp_key, 1) - result = redis.zrange(temp_key, 0, -1) + result = pipeline.zrange(temp_key, 0, -1) end result.value @@ -241,11 +241,11 @@ def union(*sets) result = nil temp_key = :"#{key}:union:#{Time.current.to_i + rand}" - redis.multi do + redis.multi do |pipeline| unionstore(temp_key, *sets) - redis.expire(temp_key, 1) + pipeline.expire(temp_key, 1) - result = redis.zrange(temp_key, 0, -1) + result = pipeline.zrange(temp_key, 0, -1) end result.value