1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ld-J2Cache

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CHANGES.md 20 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 02.12.2024 03:20 da9f4e6

J2Cache 版本更新记录

j2cache-core 2.8.6 (2024-5-6)

  1. Добавлена поддержка сериализатора Fury.
  2. Обновлены некоторые зависимые пакеты.

j2cache-core 2.8.2 (2020-4-26)

  1. Исправлена проблема, из-за которой при использовании redis-cluster возникал NPE, так как redisClient не был инициализирован.
  2. Реализованы методы keys и clear для сканирования с использованием команды scan в redis-клиенте для вторичного кэша, чтобы обойти ограничения ключей команды в облачной платформе Redis.

j2cache-core 2.8.1 (2020-4-16)

  • Исправлена ошибка, когда при использовании lettuce для подключения к redis и установке пароля с символом '@' возникала ошибка разбора адреса и пароля (спасибо @eddy). Подробнее см. https://gitee.com/ld/J2Cache/pulls/149.

J2Cache 2.4.1-release (2018-8-xx)

  • Исправление ошибки в модуле Spring Boot (#ILUOW).

J2Cache 2.4.0-release (2018-8-4)

  • Поддержка JSON-сериализации (на стадии тестирования).

J2Cache 2.3.23-release (2018-7-30)

  • Вторичный кэш поддерживает memcached.
  • Улучшения в модуле spring boot.

J2Cache 2.3.22-release (2018-7-3)

  • Добавление юнит-тестов.
  • Устранение логической ошибки в коде загрузки данных с помощью loader.

J2Cache 2.3.21-release (2018-5-23)

  • Переупаковка.

J2Cache 2.3.20-release (2018-5-23)

  • Исправлено исчезновение конфигурации maxWaitMillis, что приводило к ошибкам. Возможно, это последняя версия обновления в серии 2.3.x.

J2Cache 2.3.19-release (2018-5-22)

  • Оптимизация многопоточного чтения: данные L2 считываются только один раз при одновременном чтении одного региона и одного ключа, что снижает нагрузку на Redis (производительность улучшилась примерно на 30% при тестировании с 100 потоками, а количество обращений к Redis снизилось до 1).
  • Можно настроить J2Cache на использование null-объектов по умолчанию с помощью j2cache.default_cache_null_object.

J2Cache 2.3.18-release (2018-5-21)

  • Решена проблема ClassCastException при использовании spring boot devtool.
  • Изменена зависимость от сторонних пакетов: теперь она не является обязательной, и разработчикам необходимо самостоятельно добавлять зависимости.

J2Cache 2.3.17-release (2018-5-16)

  • #IJTFT: исправлена проблема с тем, что параметр cacheNullObject в get-методе CacheChannel не работал.
  • Проведена реорганизация репозитория, и модули расширения были перемещены в каталог modules.

J2Cache 2.3.16-release (2018-5-4)

  • Исправлены проблемы с исключением NullPointerException при использовании Ehcache3 и при сбое записи в кэш при недействительной конфигурации.

J2Cache 2.3.15-release (2018-5-4)

  • Исправлен серьёзный баг в кластерных уведомлениях, который мог привести к сбоям в работе. Если вы используете версии 2.3.13 или 2.3.14, рекомендуется немедленно выполнить обновление.

J2Cache 2.3.14-release (2018-5-3)

  • Разрешено отключать уведомления о недействительности данных в кластере с помощью j2cache.broadcast = none.
  • Исправлена проблема с ошибкой десериализации JSON.

J2Cache 2.3.13-release (2018-5-1)

  • Поддерживается возможность определения того, будет ли Redis-кэш также содержать информацию о времени жизни (TTL) данных, с помощью настройки j2cache.sync_ttl_to_redis. Значение по умолчанию — true, что означает, что данные в Redis будут иметь TTL.
  • Добавлена поддержка Spring Boot 2.0.
  • Метод check добавлен в CacheChannel для проверки наличия ключа в определённом уровне кэша.

J2Cache 2.3.12-release (2018-4-26)

В этой версии добавлен режим «только для чтения» для Redis, который можно включить с помощью конфигурации:

j2cache.L2.provider_class = readonly-redis  
j2cache.L2.config_section = redis

J2Cache 2.3.11-release (2018-4-xx)

  • Исправлена логическая ошибка в коде синхронизации блоков в интерфейсе redis. Подробности см. в разделе «Sonar» на сайте gitee.

J2Cache 2.3.10-release (2018-4-5)

  • Caffeine обновлен до версии 2.6.2.
  • JGroups обновлен до версии 3.6.15.Final.
  • kryo-shaded обновлен до версии 4.0.1.
  • fastjson обновлен до версии 1.2.46.
  • Исправлено исключение NullPointerException в ehcache 3 при использовании метода keys.
  • Исправлена ошибка @阿南哥 в ehcache2, см. https://gitee.com/ld/J2Cache#note_893981.

J2Cache 2.3.9-release (2018-2-13)

  • При использовании Generic-режима данные, записываемые в Redis, всегда содержат TTL, значение которого берётся из конфигурации L1. Это значительное изменение.
  • По умолчанию null-объекты сохраняются в кэше (в предыдущих версиях они не сохранялись).

J2Cache 2.3.8-release (2018-2-7)

  • Включён новый логотип.
  • Отображение времени соединения с Redis.
  • Повторная очистка L1 при истечении срока действия данных для предотвращения повторного получения значений из L2.
  • Отключение JMX-функции Jedis по умолчанию.
  • Исправлена проблема с возвратом ключей в generic-режиме, когда ключи содержали информацию о регионе.
  • Внутренняя оптимизация кода.
  • Доработка документации.

J2Cache 2.3.7-release (2018-1-24)

  • Поддержка отдельного файла определения кэша Caffeine — caffeine.properties.

J2Cache 2.3.6-release (2018-1-24)

  • Совместимость с JGroups 3.6.x и 4.0.x.
  • Возможность прямого использования J2CacheConfig для настройки J2Cache, см. J2CacheBuilder.
  • Параметр cacheNullObject поддерживается методом get с загрузчиком.
  • CacheChannel предоставляет прямой доступ к интерфейсу RedisClient, пример кода:
    CacheChannel channel = J2Cache.getChannel();
    RedisClient client = ((RedisCacheProvider)channel.getL2Provider()).getRedisClient();
    try {
        client.get().xxxxx(...);
    } finally {
        client.release();
    }

J2Cache 2.3.5-release (2018-1-23)

  • [Новая функция] Поддержка кэширования пустых объектов.
  • [Ошибка] Исправлена проблема с пакетной загрузкой кэша без установки данных L1.
  • [Ошибка] Исправлена проблема в режиме generic, когда отсутствие данных приводило к сбою метода clear.
  • [Ошибка] Исправлена ошибка java.lang.ClassCastException: org.hibernate.cache.QueryKey cannot be cast to java.lang.String.

J2Cache 2.3.4-release (2018-1-18)

  • Добавлен метод regions для получения всех используемых регионов кэша в L1.
  • Оптимизированы зависимости от сторонних библиотек.
  • Удалён интерфейс DataLoader, вместо него используется интерфейс Function из Java 8 (для передачи параметра key).
  • Интерфейс расширен методом get(String region, Collection keys, Function<String,Object> loader). Конфигурация по умолчанию включает testWhileIdle для поддержания сетевого соединения с Redis.

RedisPubSubClusterPolicy и RedisCacheProvider используют два независимых пула соединений.

Улучшена надёжность соединения с Redis, включая обработку принудительного разрыва соединения сервером Redis. Продолжается оптимизация методов одновременного получения нескольких фрагментов данных из кэша.

Добавлен метод get(String region, String key, DataLoader loader) для внешнего получения данных, которые необходимо кэшировать. Пример кода:

CacheChannel cache = J2Cache.getChannel();
CacheObject obj = cache.get("Users", "13", () -> "Hello J2Cache");
System.out.println(obj);
//[Users,13,L3]=>Hello J2Cache

J2Cache 2.3.1-release (2018-1-16)

  • Рефакторинг: RedisPubSubClusterPolicy больше не зависит от экземпляра RedisClient класса RedisCacheProvider.
  • Добавлены отдельные параметры конфигурации сервера Redis PubSub redis.channel.host и redis.channel.timeout, позволяющие разделить хранение данных и подписку на услуги.
  • Оптимизировано использование операции MGET Redis при использовании метода get(Collection keys).
  • Улучшена работа метода evict для удаления нескольких ключей.

J2Cache 2.3.0-release (2018-1-15)

  • Из методов чтения кэша удалены getXxx, оставлен только метод get (автоматическое определение различных типов данных), данные разных типов можно получить через метод asXxx класса CacheObject.
  • Удалены методы incr и decr.

J2Cache 2.3.0-beta (2018-1-15)

  • Внутренняя структура переработана, уменьшено связывание между модулями, упрощены внутренние интерфейсы.
  • Убрана зависимость от commons-beanutils, поскольку версии API beanutils 1.8 и 1.9 сильно различаются, что позволяет избежать влияния на хост-систему.
  • Исправлена логическая ошибка в методе clear класса RedisGenericCache [BUG].

J2Cache 2.2.4-release (2018-1-14)

  • Исправлена проблема с единицами измерения при настройке срока действия кэша Caffeine.

J2Cache 2.2.3-release (2018-1-10)

  • Исправлены проблемы с обработкой строковых данных.

J2Cache 2.2.2-release (2018-1-10)

  • Исправлена проблема, когда подписка на широковещательную рассылку с использованием redis не освобождала соединение redis (серьёзная).
  • В режиме sharded включён пул соединений Redis.
  • Если конфигурация redis.mode недействительна, по умолчанию используется режим single, а не генерируется исключение.

J2Cache 2.2.1-release (2018-1-10)

  • Предоставлены методы clear и keys для использования в режиме generic без режима cluster (производительность может быть хуже, используйте с осторожностью). Официальная документация гласит: «Скорость KEYS очень высока, но использование его в большой базе данных всё ещё может вызвать проблемы с производительностью. Если вам нужно найти конкретный ключ из набора данных, лучше использовать набор set Redis вместо этого».
  • Инструмент тестирования командной строки поддерживает вызов истории команд с помощью клавиш вверх и вниз (зависит от библиотеки JLine).
  • При перезапуске Redis подписка будет разорвана, J2Cache автоматически переподключится.
  • Поддерживается указание имени файла конфигурации jgroups (jgroups.configXml = /network.xml).
  • Метод setIfAbsent удалён (излишний, некоторые фреймворки вторичного кэша не поддерживают этот метод, разработчики могут сами определить необходимость его использования).
  • Поддерживаются пользовательские ClusterPolicy, подробности см. в j2cache.properties.
  • getObject переименован в get, автоматически определяет, являются ли данные в кэше строкой или сериализованным объектом.

J2Cache 2.2.0 beta (2018-1-6)

Обратите внимание, что эта версия несовместима с предыдущими версиями на уровне API!

Новые функции

  • Существующие методы get/getAll заменены на getXxxx (старые методы удалены).
  • Поддержка Caffeine (первичный кэш).
  • Возможность установить срок действия объектов кэша.
  • Поддержка различных режимов хранения Redis (redis.storage = generic|hash).
  • Методы incr и decr добавлены.

Исправления ошибок

  • Исправлена ошибка, из-за которой соединение Redis не было освобождено (серьёзно, требуется обновление).

J2Cache 2.1 (2018-1-3)

  • Во избежание путаницы в реальных приложениях ключи кеша унифицированы как строки (если вы не можете определить, будьте осторожны с обновлением до 2.1).
  • Добавлено больше операций с кешем (getAll, setAll).
  • Добавлена информация о журнале для новых узлов, присоединяющихся к кластеру и покидающих его.
  • Добавлен модуль Spring Boot Starter (спасибо @zhangsaizz за вклад).

J2Cache 2.0.1 (2017-12-26)

  • Исправлено, что параметр database был недействительным.
  • Унифицирована обработка аутентификации пароля для различных режимов Redis.
  • Исправлена невозможность использовать параметры database и password в режиме sharded.
  • Определены номера версий для подмодулей, унифицированные с номерами версий родительских модулей.
  • Дополнены и улучшены Javadoc-документы.

J2Cache 2.0-release (2017-12-24)

  • Добавлена поддержка Ehcache 3.x (j2cache.L1.provider_class = ehcache3).
  • Слияние поддержки Hibernate 3 и Hibernate 4 в модуле 1.x.
  • Переименован инструмент командной строки J2Cache в J2CacheCmd.

J2Cache 2.0-beta (2017-12-22)

  • Требуется поддержка Java 8.
  • Полная модульность Maven, устаревшая поддержка Ant удалена.
  • Внутренние интерфейсы переработаны, чтобы быть более ясными и понятными, уменьшая зависимости.
  • Поддерживает различные режимы Redis для одного узла и кластера, а также включает пул соединений Redis.
  • Поддерживает аутентификацию паролем для сервисов Redis.
  • Включает поддержку Ehcache 3.x (j2cache.L1.provider_class = ehcache3).
  • Включена потоковая передача уведомлений о недействительности кеша, избегая проблем с сетью, вызывающих блокировку.
  • [Важно] Хотя интерфейсы изменились незначительно, интерфейсы J2Cache 2.0 несовместимы с 1.x.
  • Поддержка других фреймворков, таких как Hibernate, будет добавлена позже через модули.

J2Cache 1.4.0 ()

J2Cache 1.3.0 (2015-11-5)

  • Используется механизм публикации и подписки Redis для обновления уведомлений кеша, заменяя механизм группового вещания JGroups, оба механизма можно настроить в файле j2cache.properties (спасибо @flyfox 330627517@qq.com).
  • Интерфейс вызова J2Cache переработан, невозможно напрямую обновить старую версию, необходимо изменить способ вызова на J2Cache.getChannel().

J2Cache 1.2.0 (2015-10-27)

  • Обновлены jedis и jgroups до последних версий.
  • Структура проекта была реорганизована с использованием Maven.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/ld-J2Cache.git
git@api.gitlife.ru:oschina-mirror/ld-J2Cache.git
oschina-mirror
ld-J2Cache
ld-J2Cache
master