diff --git a/lib/mini_profiler/storage/redis_store.rb b/lib/mini_profiler/storage/redis_store.rb index 5e4f615f..3f436ea6 100644 --- a/lib/mini_profiler/storage/redis_store.rb +++ b/lib/mini_profiler/storage/redis_store.rb @@ -33,7 +33,7 @@ def load(id) def set_unviewed(user, id) key = user_key(user) - if redis.exists(prefixed_id(id)) + if redis.call([:exists, prefixed_id(id)]) == 1 expire_at = Process.clock_gettime(Process::CLOCK_MONOTONIC).to_i + redis.ttl(prefixed_id(id)) redis.zadd(key, expire_at, id) end @@ -44,7 +44,7 @@ def set_all_unviewed(user, ids) key = user_key(user) redis.del(key) ids.each do |id| - if redis.exists(prefixed_id(id)) + if redis.call([:exists, prefixed_id(id)]) == 1 expire_at = Process.clock_gettime(Process::CLOCK_MONOTONIC).to_i + redis.ttl(prefixed_id(id)) redis.zadd(key, expire_at, id) end