# frozen_string_literal: true require 'message_bus/distributed_cache' class DistributedCache < MessageBus::DistributedCache def initialize(key, manager: nil, namespace: true) super( key, manager: manager, namespace: namespace, app_version: Discourse.git_version ) end # Defer setting of the key in the cache for performance critical path to avoid # waiting on MessageBus to publish the message which involves writing to Redis. def defer_set(k, v) Scheduler::Defer.later("#{@key}_set") do self[k] = v end end end