Основная цель проекта Spring Data — упростить создание приложений на базе Spring, использующих новые технологии доступа к данным, такие как нереляционные базы данных, платформы сокращения карт и облачные службы данных.
Этот модуль обеспечивает интеграцию с магазином Redis. Он также протестирован на максимальную совместимость с Valkey, пока Valkey остается в значительной степени совместимым с Redis.
Пакет подключения как низкоуровневая абстракция для нескольких драйверов Redis (Lettuce и Jedis).
Перевод исключений в переносимую иерархию исключений доступа к данным Spring для исключений драйвера Redis
RedisTemplate
, который обеспечивает абстракцию высокого уровня для выполнения различных операций Redis, поддержки трансляции исключений и сериализации.
Поддержка Pubsub (например, MessageListenerContainer для POJO, управляемых сообщениями).
Поддержка Redis Sentinel и Redis Cluster.
Реактивный API с использованием драйвера Lettuce.
Сериализаторы сопоставления JDK, String, JSON и Spring Object/XML.
Реализации JDK Collection поверх Redis.
Классы поддержки атомного противодействия.
Функции сортировки и конвейеризации.
Специальная поддержка шаблонов SORT, SORT/GET и возвращаемых массовых значений.
Реализация Redis для абстракции кэша Spring 3.1.
Автоматическая реализация интерфейсов Repository
, включая поддержку пользовательских методов поиска с использованием @EnableRedisRepositories
.
Поддержка CDI для репозиториев.
Этот проект регулируется Кодексом поведения Spring. Принимая участие, вы должны соблюдать этот кодекс поведения. Пожалуйста, сообщите о неприемлемом поведении по адресу [email protected].
Вот краткий тизер приложения, использующего Spring Data Redis на Java:
public class Example {
// inject the actual template
@ Autowired
private RedisTemplate < String , String > redisTemplate ;
// inject the template as ListOperations
// can also inject as Value, Set, ZSet, and HashOperations
@ Resource ( name = "redisTemplate" )
private ListOperations < String , String > listOps ;
public void addLink ( String userId , URL url ) {
listOps . leftPush ( userId , url . toExternalForm ());
// or use template directly
redisTemplate . boundListOps ( userId ). leftPush ( url . toExternalForm ());
}
}
@ Configuration
class ApplicationConfig {
@ Bean
public RedisConnectionFactory redisConnectionFactory () {
return new LettuceConnectionFactory ();
}
}
Добавьте зависимость Maven:
< dependency >
< groupId >org.springframework.data</ groupId >
< artifactId >spring-data-redis</ artifactId >
< version >${version}</ version >
</ dependency >
Если вам нужны последние снимки предстоящей основной версии, воспользуйтесь нашим репозиторием снимков Maven и объявите соответствующую версию зависимости.
< dependency >
< groupId >org.springframework.data</ groupId >
< artifactId >spring-data-redis</ artifactId >
< version >${version}-SNAPSHOT</ version >
</ dependency >
< repository >
< id >spring-snapshot</ id >
< name >Spring Snapshot Repository</ name >
< url >https://repo.spring.io/snapshot</ url >
</ repository >
Возникли проблемы с Spring Data? Мы будем рады помочь!
Проверьте справочную документацию и Javadocs.
Изучите основы Spring — Spring Data основан на Spring Framework. Посетите веб-сайт Spring.io, чтобы найти множество справочной документации. Если вы только начинаете работать со Spring, попробуйте одно из руководств.
Если вы обновляетесь, ознакомьтесь с примечаниями к выпуску, чтобы узнать о «новых и заслуживающих внимания» функциях.
Задайте вопрос — мы отслеживаем stackoverflow.com на предмет вопросов, отмеченных тегом spring-data-redis
. Вы также можете пообщаться с сообществом Gitter.
Сообщайте об ошибках Spring Data Redis на странице github.com/spring-projects/spring-data-redis.
Spring Data использует Github в качестве системы отслеживания проблем для записи ошибок и запросов функций. Если вы хотите поднять проблему, следуйте приведенным ниже рекомендациям:
Прежде чем регистрировать ошибку, выполните поиск в системе отслеживания проблем, чтобы узнать, не сообщал ли кто-нибудь уже о проблеме.
Если проблема еще не существует, создайте новую проблему.
Пожалуйста, предоставьте как можно больше информации в отчете о проблеме. Нам хотелось бы знать версию Spring Data, которую вы используете, версию JVM, Stacktrace и т. д.
Если вам нужно вставить код или включить трассировку стека, используйте ограждения кода Markdown ```.
Если возможно, попробуйте создать тестовый пример или проект, воспроизводящий проблему. Прикрепите ссылку на свой код или сжатый файл, содержащий ваш код.
Вам не нужно выполнять сборку из исходного кода, чтобы использовать Spring Data (двоичные файлы в repo.spring.io), но если вы хотите опробовать новейшие и лучшие версии, Spring Data можно легко собрать с помощью оболочки maven. Вам также понадобится JDK 17 или выше и make
. Локальная среда сборки управляется с помощью Makefile
для загрузки, сборки и развертывания Redis в различных конфигурациях (автономная, Sentinel, кластер и т. д.).
$ make test
Предыдущая команда запускает полную сборку. Вы можете использовать команды make start
, make stop
и make clean
, чтобы самостоятельно управлять средой. Это полезно, если вы хотите избежать постоянных перезапусков сервера. После запуска всех экземпляров Redis вы можете запустить тесты в своей IDE или в полной сборке Maven:
$ ./mvnw clean install
Если вы хотите выполнять сборку с помощью обычной команды mvn
, вам понадобится Maven v3.8.0 или выше.
Также см. CONTRIBUTING.adoc, если вы хотите отправить запросы на включение и, в частности, подпишите Соглашение участника перед первым нетривиальным изменением.
При сборке документации также создается проект без проведения тестов.
$ ./mvnw clean install -Pantora
Сгенерированная документация доступна по адресу target/antora/site/index.html
.
Сайт Spring.io содержит несколько руководств, которые шаг за шагом показывают, как использовать Spring Data:
Обмен сообщениями с помощью Redis. Узнайте, как использовать Redis в качестве брокера сообщений.
Реактивный доступ к данным с помощью Redis. Узнайте, как реактивно взаимодействовать с Redis и Spring Data.
Примеры данных Spring содержат примеры проектов, в которых более подробно объясняются конкретные функции.
Spring Data Redis — это программное обеспечение с открытым исходным кодом, выпущенное под лицензией Apache 2.0.