Understanding the potential inconsistency of the memoization in a multi-replica environment

I am currently studying the GitLab source code and came across a piece of code that I find a bit difficult to understand. The code is as follows:

define_method("#{name}_include?") do |value|
  ivar = "@#{name}_include"
  memoized = instance_variable_get(ivar) || {}
  lookup = proc { __send__(name).include?(value) } # rubocop:disable GitlabSecurity/PublicSend

  next memoized[value] if memoized.key?(value)

  memoized[value] =
    if strong_memoized?(name)
      lookup.call
    else
      result, exists = redis_set_cache.try_include?(name, value)

      exists ? result : lookup.call
    end

  instance_variable_set(ivar, memoized)[value]
end

from: lib/gitlab/repository_cache_adapter.rb · master · GitLab.org / GitLab · GitLab

This code memorizes the existence of a branch name with memoized[branch_name], which is held in memory. My question is about the potential inconsistency of this setup in a multi-replica environment, such as with multiple Kubernetes pods. Specifically, could it happen that a new branch new_branch is created in pod1, but memoized[new_branch] in pod2’s memory still returns false? Is this a potential issue or is there a mechanism to handle this type of situation?

Thank you for your insights!