Начал использовать ehcache. И как и в случае с более новыми версиями, мы можем выполнять поиск по атрибутам значения, поэтому для данного кеша мы можем искать и получать результат.Стратегия поиска Ehcache: ключ finesse vs query
Например, скажем, мой сайт кэширует все данные пользователей с момента запуска моего сервера приложений и для регистрации нового пользователя. У меня есть запись за кешированием. Теперь, когда пользователь входит в систему, я просматриваю кеш и получаю несколько деталей.
Вот что я сделал, ключ: «userId» значение: новый Пользователь («имя», возраст);
Теперь, когда это необходимо, я хочу найти всех пользователей, возраст которых выше 30, затем я мог бы использовать поисковый запрос для извлечения набора данных. Это оказывается более медленным, как в 1 миллион данных, за 5 миллионов ударов он составляет почти 2 - 3 секунды.
Моя другая идея: есть ключ с возрастом в виде строки, например ключ: «идентификатор пользователя # возрастного» со значением: новый User («название», возраст)
Теперь вместо запросов, использование поиск с ключом для ключа: например (anyuser # [(nextchar начинается с 3) до 2 символов) и возвращает результат.
Меня интересует три вещи.
Может ли вторая идея быть реализована с использованием ehcache? Если так, то это будет исполнителем?
Я делаю что-то не так в поиске запроса? Взятие 2 секунды - это, конечно, то, что не согласуется с тем, что обещает ehcache.
Какова общая стратегия при именовании ключа? Если это случайное (я не знаю, когда это может быть полезно), должно ли оно содержать значение, объединенное таким образом, чтобы его можно было искать?
пункт 1. кажется неправильным, по крайней мере для более новых версий, ключей и поиска, как и другие атрибуты, см .: http://www.ehcache.org/documentation/2.8/apis/search.html#creating-a -query – Gregor
Вы правы, мой ответ был вне контекста поиска - обновления, чтобы уточнить это. –