Получить случайный элемент из Memcache - Google App Engine

Есть ли способ получить случайный элемент из кэша памяти?


person Albert    schedule 11.01.2012    source источник
comment
Какую проблему ты пытаешься решить? Какие статистические свойства случайности вам требуются? Не существует встроенного способа запросить случайное значение в кэше памяти. Однако, вероятно, есть способ достичь вашей цели без этой функции.   -  person Peter Recore    schedule 11.01.2012
comment
Я делаю что-то похожее на это решение stackoverflow.com/a/3451052/281021. Мне просто было интересно, можно ли получить пользу от какой-либо оптимизации с использованием кэша памяти.   -  person Albert    schedule 16.01.2012


Ответы (2)


Нет, нет возможности выбрать случайный элемент из кэша памяти. Он также не предназначен для этого.

person Nick Johnson    schedule 12.01.2012
comment
Вы помогли предоставить это решение stackoverflow.com/a/3451052/281021. Может ли там чем-нибудь помочь memcache? - person Albert; 16.01.2012
comment
@Albert Нет, потому что нет возможности делать запросы в memcache, только по ключу. - person Nick Johnson; 16.01.2012

Не напрямую через API.

Но вы можете создать список ключей изображений для всех изображений в кэше памяти, а затем случайным образом выбирать из этого списка. Сам список мне также нужно будет сохранить в кэше памяти.

person Peter Knego    schedule 11.01.2012
comment
Как вы узнаете, какие изображения были в кэше памяти, чтобы создать свой список? Элементы в кэше памяти могут исчезнуть в любой момент без предупреждения. - person Peter Recore; 11.01.2012
comment
Обычно вы пытаетесь получить его из кеша, если он недоступен, загружаете его из хранилища данных. Дополнительная работа заключается в добавлении / удалении записи из списка при добавлении / удалении изображения из кэша памяти. - person Peter Knego; 11.01.2012
comment
Я предположил, что посещение хранилища данных недопустимо. Для меня вопрос в том, могу ли я получить случайный элемент, который сейчас находится в кэше памяти, не заходя в хранилище данных. - person Peter Recore; 12.01.2012
comment
Если переход в хранилище данных приемлем, то зачем вам отслеживать, что находится в кэше памяти? Просто выберите случайную запись из хранилища данных. - person Peter Recore; 12.01.2012
comment
Кроме того, что происходит, когда сам список исчезает? - person Peter Recore; 12.01.2012