Где я могу найти ID для службы кэширования Redis, запущенной в контейнере?

я разрабатываю сервис ставок, который получает ставки из кэша (Django, Redis), который имеет свой собственный контейнер.

class CachedTraderRepository:
    def get_rate(self, pair):
        print("GET RATE START")
        print(pair)
        pair_rate = cache.get(pair)
        print(pair_rate)
        print("GET RATE END")
        return pair_rate

    def get_all_rates(self):
        print("GET ALL RATES START")

        all_rates = cache.get("all_pairs")

        print(all_rates)

        print("GET ALL RATES END")
        return all_rates

У меня есть скрипт, который заполняет кэш нужными мне данными, и в том же скрипте я сделал метод для получения тех же данных, и он работает. Заполняет кэш, и когда я делаю cache.get(), я вижу ожидаемые результаты.

class CacheWorker:
    def fill_cache(self):
        print("START")

        pair_queryset = Pair.objects.all()
        pairs = []

        print("retrieving pair queryset")
        for pair in pair_queryset:
            pairs.append(pair.name)

        print("pair list:   ", pairs)
        all_rates = SandboxTraderSDK(account="martin").get_multiple_pair_response(pairs)

        print("rates:   ", all_rates)
        cache.set("all_rates", all_rates)
        print("Cache filled")
        print("END")

    def get_cache(self):
        print("START")
        a = cache.get("all_rates")
        print(a)
        print("END")

Проблема в том, что я не вижу того же результата, когда выполняю его из класса:

Shell:

In [8]: CachedTraderRepository.get_all_rates()
GET ALL RATES START
None
GET ALL RATES END

Так я думаю, что кэш django имеет 2 экземпляра или что-то вроде этого, как я могу вывести ID клиента Redis или что-то подобное, чтобы убедиться, что оба кода выполняются на одном и том же кэше?

Conf:

CACHES = {}
if USE_REDIS:
    CACHES.update(
        {
            "default": {
                "BACKEND": "django_redis.cache.RedisCache",
                "LOCATION": env("DJANGO_CACHE_LOCATION"),
                "OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient"},
                "KEY_PREFIX": "default",
            }
        }
    )
else:
    CACHES.update(
        {
            "default": {
                "BACKEND": "django.core.cache.backends.locmem.LocMemCache",
                "LOCATION": "unique-snowflake",
            }
        }
    )
Вернуться на верх