mirror of
https://github.com/discourse/discourse.git
synced 2024-11-22 08:49:06 +08:00
DEV: Upgrade Redis to 4.2.1.
This commit is contained in:
parent
1303e89a72
commit
0ff86b00cb
|
@ -310,7 +310,7 @@ GEM
|
|||
msgpack (>= 0.4.3)
|
||||
optimist (>= 3.0.0)
|
||||
rchardet (1.8.0)
|
||||
redis (4.1.4)
|
||||
redis (4.2.1)
|
||||
redis-namespace (1.7.0)
|
||||
redis (>= 3.0.4)
|
||||
regexp_parser (1.7.1)
|
||||
|
|
|
@ -70,7 +70,7 @@ if ENV["ACTIVE_RECORD_RAILS_FAILOVER"]
|
|||
end
|
||||
|
||||
RailsFailover::ActiveRecord.register_force_reading_role_callback do
|
||||
Discourse.redis.exists(
|
||||
Discourse.redis.exists?(
|
||||
Discourse::PG_READONLY_MODE_KEY,
|
||||
Discourse::PG_FORCE_READONLY_MODE_KEY
|
||||
)
|
||||
|
|
|
@ -43,7 +43,7 @@ class AdminConfirmation
|
|||
end
|
||||
|
||||
def self.exists_for?(user_id)
|
||||
Discourse.redis.exists "admin-confirmation:#{user_id}"
|
||||
Discourse.redis.exists? "admin-confirmation:#{user_id}"
|
||||
end
|
||||
|
||||
def self.find_by_code(token)
|
||||
|
|
|
@ -56,7 +56,7 @@ class Cache
|
|||
|
||||
def exist?(name)
|
||||
key = normalize_key(name)
|
||||
redis.exists(key)
|
||||
redis.exists?(key)
|
||||
end
|
||||
|
||||
# this removes a bunch of stuff we do not need like instrumentation and versioning
|
||||
|
|
|
@ -487,7 +487,7 @@ module Discourse
|
|||
end
|
||||
|
||||
def self.readonly_mode?(keys = READONLY_KEYS)
|
||||
recently_readonly? || Discourse.redis.exists(*keys)
|
||||
recently_readonly? || Discourse.redis.exists?(*keys)
|
||||
end
|
||||
|
||||
def self.pg_readonly_mode?
|
||||
|
|
|
@ -207,17 +207,14 @@ class DiscourseRedis
|
|||
end
|
||||
end
|
||||
|
||||
# Implement our own because https://github.com/redis/redis-rb/issues/698 has stalled
|
||||
def exists(*keys)
|
||||
keys.map! { |a| "#{namespace}:#{a}" } if @namespace
|
||||
def exists(*args)
|
||||
args.map! { |a| "#{namespace}:#{a}" } if @namespace
|
||||
DiscourseRedis.ignore_readonly { @redis.exists(*args) }
|
||||
end
|
||||
|
||||
DiscourseRedis.ignore_readonly do
|
||||
@redis.synchronize do |client|
|
||||
client.call([:exists, *keys]) do |value|
|
||||
value > 0
|
||||
end
|
||||
end
|
||||
end
|
||||
def exists?(*args)
|
||||
args.map! { |a| "#{namespace}:#{a}" } if @namespace
|
||||
DiscourseRedis.ignore_readonly { @redis.exists?(*args) }
|
||||
end
|
||||
|
||||
def mget(*args)
|
||||
|
|
|
@ -87,31 +87,6 @@ describe DiscourseRedis do
|
|||
expect(Discourse.recently_readonly?).to eq(true)
|
||||
end
|
||||
end
|
||||
|
||||
describe '.exists' do
|
||||
it 'should return false when key is not present' do
|
||||
expect(Discourse.redis.exists('test')).to eq(false)
|
||||
end
|
||||
|
||||
it 'should return false when keys are not present' do
|
||||
expect(Discourse.redis.exists('test', 'test2')).to eq(false)
|
||||
end
|
||||
|
||||
it 'should return true when key is present' do
|
||||
Discourse.redis.set('test', 1)
|
||||
|
||||
expect(Discourse.redis.exists('test')).to eq(true)
|
||||
end
|
||||
|
||||
it 'should return true when any key is present' do
|
||||
Discourse.redis.set('test', 1)
|
||||
Discourse.redis.set('test2', 1)
|
||||
|
||||
expect(Discourse.redis.exists('test')).to eq(true)
|
||||
expect(Discourse.redis.exists('test', 'test2')).to eq(true)
|
||||
expect(Discourse.redis.exists('test2', 'test3')).to eq(true)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context '.slave_host' do
|
||||
|
|
Loading…
Reference in New Issue
Block a user