powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Multikey set
7 сообщений из 7, страница 1 из 1
Multikey set
    #39461525
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использовал Guava Cache, тут понадобилось обращаться к данным еще по одному ключу.
Как такое реализуется?
...
Рейтинг: 0 / 0
Multikey set
    #39461526
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то тему не правильно называл.
...
Рейтинг: 0 / 0
Multikey set
    #39461536
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не очень понял, ну два ключа для одного значение, то же самое что и в HashMap. В чем вопрос?
...
Рейтинг: 0 / 0
Multikey set
    #39461557
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Данные, к примеру, хранились так:

Вася => Вася|Пупкин|1987

Проверить есть ли в кэше Вася не проблема.
Но потом потребовалось узнать, если ли в кэше Пупкин.
...
Рейтинг: 0 / 0
Multikey set
    #39461559
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. к одному объекту потребовалось обращаться по 2-м ключам.
...
Рейтинг: 0 / 0
Multikey set
    #39461563
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

Ну, так что мешает?
Вася => Вася|Пупкин|1987
Пупкин => Вася|Пупкин|1987
Проблема только в будет если структуру надо персистить, то она должна уметь переиспользовать объекты.
А в памяти это всего лишь несколько дополнительных ссылок.
...
Рейтинг: 0 / 0
Multikey set
    #39461566
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Да там еще есть removalListener и expireAfterAccess, и т.п.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
        sessions = CacheBuilder
                .newBuilder()
                .initialCapacity(30000)
                .maximumSize(5000000)
                .expireAfterAccess(session_ttl, TimeUnit.SECONDS)
                .removalListener((RemovalListener<String, Session>) notification -> {
                    Session session = notification.getValue();
                    if (session != null) {
                        logger.debug("Close session: " + notification.getKey());
                        session.close();
                    }
                })
                .build();



данные в кэш добавляются в разных местах программы и разными способами
как-то это все в сумме начинает выглядеть не красиво
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Multikey set
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]