バージョンアップ情報
Spring Data Redis情報
- Spring Data Redisとは
- 主な特徴
- メリット・デメリット
- Spring Dataのメインモジュール
- 動作環境
- Spring Data Redisのライセンス
- 参考情報
- オープンソース年間サポートサービス
Spring Data Redisとは
Spring Data Redis は、オープンソースの Java で書かれたプロダクトで、データベースアクセスを簡単に行うためのプロジェクトである Spring Dataのメインモジュールの一つです。
Spring Data は、Spring Project のサブプロジェクトであり、対象のデータストアの特性を維持しつつ、使い慣れた Spring ベースのプログラミングが行えるようにすることを目標としています。
Spring Data Redis は、Redis との連携を簡単に行えるように開発されたものであり2011年12月14日にバージョン 1.0 がリリースされました。
主な特徴
Spring Data Redis には以下のような機能があります。
- Redis ドライバー(Lettuce、Jedis)を通した低レベル抽象化の接続パッケージ
- Redis ドライバ―の例外の Spring ポータブルデータアクセス例外への変換
- Redis 操作、例外変換、シリアル化サポートなどを実行するための高レベル抽象化を行う RedisTemplate
- Pub/Subサポート(メッセージ駆動型 POJO の MessageListenerContainer など)
- Redis Sentinel、Redis Cluster のサポート
- Lettuce ドライバーを使用したリアクティブ API
- JDK、String、JSON、Spring オブジェクト/XML マッピングシリアライザー
- Redis 用の JDK コレクション実装
- アトミックカウンターサポートクラス
- ソートおよびパイプライン機能
- SORT、SORT/GET パターンとリターンバルクバリュー
- Spring 3.1 キャッシュ抽象化のための Redis 実装
- @EnableRedisRepositories を使用したカスタムクエリメソッドのサポートを含むリポジトリインターフェースの自動実装
- リポジトリの CDI サポート
Spring Data Redis のサンプルコード
以下は、RedisTemplate を使用したサンプルです。
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;
public class RedisApplication {
private static final Log LOG = LogFactory.getLog(RedisApplication.class);
public static void main(String[] args) {
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory();
connectionFactory.afterPropertiesSet();
RedisTemplate<String, String> template = new RedisTemplate<>();
template.setConnectionFactory(connectionFactory);
template.setDefaultSerializer(StringRedisSerializer.UTF_8);
template.afterPropertiesSet();
template.opsForValue().set("foo", "bar");
LOG.info("Value at foo:" + template.opsForValue().get("foo"));
connectionFactory.destroy();
}
}
メリット・デメリット
メリット・必要性
- 既にSpringFramework をご利用であれば、全体のアーキテクチャの一貫性が保たれ、スムーズな移行が望めます。
- 簡単にRedisデータアクセスを実装することができます。
- JavaオブジェクトとRedisのデータとのマッピングが容易になり直感的なデータ操作が行えます。
デメリット・注意点・課題
- フレームワークの学習に時間がかかる可能性があります。
Spring Dataのメインモジュール
これ以外にも多くのコミュニティモジュールが公開されています。
- Spring Data Radis 以外のSpring Dataのメインモジュールは以下のようなものがあります。
- Spring Data Commons
- Spring Data R2DBC
- Spring Data JDBC
- Spring Data JPA
- Spring Data KeyValue
- Spring Data LDAP
- Spring Data REST
- Spring Data MongoDB
- Spring Data for Apache Cassandra
- Spring Data for Apache Geode
これ以外にも多くのコミュニティモジュールが公開されています。
動作環境
Spring Data Redis 3.1.x では、Java 17 以上、 Redis 2.6 以上に対応しています。
Spring Data Redisのライセンス
Spring Data Redisのライセンスは、「Apacheライセンスバージョン2」(Apache License version 2)というライセンスに基づいて公開され、営利、非営利を問わず、誰でも自由かつ無償で利用・改変・再配布できるようになっています。
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。
関連OSS
-
サポート対象
Spring Data JPA
Spring Data JPA(スプリングデータジェーピーエー)は、Javaの永続化技術であるJPA(Jakarta Persistence API)を簡単に利用できるようにするためのSpringプロジェクトの一部です。
-
サポート対象
Spring Framework
スプリングフレームワーク。Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。
-
サポート対象
Redis
レディス。キーバリュー型NoSQLデータベース 。スキーマレスに注目が集まるNoSQLデータベースです。