Кеширование Zip-объекта с помощью Django Memcached - PullRequest
0 голосов
/ 09 октября 2018

В настоящее время я использую Django и memcached для отслеживания объекта Zip следующим образом:

activeList_data = cache.get(active_list_key)

if not activeList_data:
    activeTickers, activeName = get_most_active()
    activeList = zip(activeTickers, activeName)

    cache.set(1, activeList, cache_time)

Однако всякий раз, когда я пытаюсь распечатать кэш, он просто возвращает пустой список.Любые идеи о том, где я иду не так?Спасибо

РЕДАКТИРОВАТЬ : Для справки вот мой полный код

activeList_data = cache.get(active_list_key) # returns None if no key-value pair

if not activeList_data:
    activeTickers, activeName = get_most_active()
    print(activeTickers)

    if not activeTickers:
        # If blank list returned (weekends) then use 
        # previous data stored in models
        tickerList = []
        nameList = []

        most_active = MostActiveStock.objects.all()

        for ticker in most_active.ticker:
            tickerList.append(ticker)

        for name in most_active.name:
            nameList.append(name)

        activeList = zip(activeTickers, activeName)
        print(1)
    else:
        activeTickers = activeTickers[:3]
        activeName = activeName[:3]

        activeList = zip(activeTickers, activeName)
        print(list(activeList))

        # Delete all old data
        MostActiveStock.objects.all().delete()

        # Store latest data for IEX's weekend blackouts 
        for ticker, name in activeList:
            most_active_obj = MostActiveStock.objects.create(ticker=ticker, name=name)

        print(2)

    cache.set(active_list_key, activeList, cache_time)
    print(3)
else:
    activeList = activeList_data
    print(4)
    print(list(activeList))

context_dict['activeList'] = activeList
...