tencent cloud

Tencent Cloud Distributed Cache (Redis OSS-Compatible)

Spring Data Redisコンポーネントの構成

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-20 19:07:17
AI翻訳
Spring Data Redisは、Spring Dataプロジェクトのサブプロジェクトであり、Redisに使いやすく効率的な操作サポートを提供することを目的としています。SpringアプリケーションとRedisデータベース間のインタラクションに抽象化レイヤーを提供し、Redisデータベースへのアクセスと操作を簡素化し、データアクセスの方法を統一します。Spring Data Redisを通じて、開発者は使い慣れたSpringスタイルでRedisを操作できます。

Spring Bootプロジェクトの作成

以下のようにIntelliJ IDEAを使用してプロジェクトRedisMonitorを作成し、タイプにMavenを選択します。

Spring Data Redisコンポーネント依存関係の構成

プロジェクトのpom.xmlにSpring Data Redisコンポーネントの依存関係を追加します。以下に示します。
説明:
Spring Bootはspring-boot-starter-data-redis依存関係を検出すると、RedisTemplateのインスタンス(Bean)を自動的に作成し、Springコンテナに登録します。RedisTemplateはSpring Data Redisが提供する高度な抽象化であり、Redisの操作を簡素化するために使用されます。Redisの低レベルコマンドをカプセル化し、より便利で安全な方法でRedisデータベースを操作できます。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

Redis情報の構成

設定ファイルapplication.propertiesにRedisのhost、port、およびpasswordパラメータを設定します。また、必要に応じてデータベースなどの情報を選択的に設定することもできます。以下に示します。
# 必須設定
# Tencent Cloud Distributed Cacheコンソールのインスタンス詳細ページのネットワーク情報エリアでプライベートネットワークIPv4アドレスとポートを取得します
spring.data.redis.host=172.27.XX.XX
spring.data.redis.port=6379
# Distributed Cacheコンソールのアカウント管理ページで、アカウントパスワードを取得できます。デフォルトアカウントの場合は、直接パスワードを指定してください。カスタムアカウントの場合は、アカウント名@パスワードの形式で設定します。
spring.data.redis.password=XXXXXX
# オプション設定
# 具体的なデータベース名を指定します
spring.data.redis.database=X
# クライアントのタイムアウト時間を指定します。単位はmsです。
spring.data.redis.timeout=XXXX
# Spring Bootクライアントタイプを指定します
spring.data.redis.client-type=lettuce

RedisTemplateを使用したRedisインターフェースクラスの実装

RedisTemplateを基にユーティリティクラスRedisInterface.javaを実装し、よく使われるRedis操作コマンドをカプセル化します。
package com.example.redismonitor;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;
import java.util.Set;
@Component
public class RedisInterface {
@Autowired
private RedisTemplate redisTemplate;

//- - - - - - - - - - - - - - - - - - - - - string - - - - - - - - - - - - - - - - - - - -
public String get(String key) {
return (String) redisTemplate.opsForValue().get(key);
}

public void set(String key, Object value) {
redisTemplate.opsForValue().set(key, value);
}

//- - - - - - - - - - - - - - - - - - - - - set - - - - - - - - - - - - - - - - - - - -
public Long sadd(String key, Object... values) {
return redisTemplate.opsForSet().add(key, values);
}

public Long srem(String key, Object... values) {
return redisTemplate.opsForSet().remove(key, values);
}

public Set<Object> smembers(String key) {
return redisTemplate.opsForSet().members(key);
}

public Boolean sismember(String key, Object value) {
return redisTemplate.opsForSet().isMember(key, value);
}

//- - - - - - - - - - - - - - - - - - - - - hash - - - - - - - - - - - - - - - - - - - -
public void hset(String key, String field, Object value) {
redisTemplate.opsForHash().put(key, field, value);
}

public Object hget(String key, String field) {
return redisTemplate.opsForHash().get(key, field);
}

public Map<Object, Object> hgetAll(String key) {
return redisTemplate.opsForHash().entries(key);
}

public Long hdel(String key, Object... fields) {
return redisTemplate.opsForHash().delete(key, fields);
}

//- - - - - - - - - - - - - - - - - - - - - list - - - - - - - - - - - - - - - - - - - -
public void lpush(String key, Object value) {
redisTemplate.opsForList().leftPush(key, value);
}

public void rpush(String key, Object value) {
redisTemplate.opsForList().rightPush(key, value);
}

public String lpop(String key) {
return redisTemplate.opsForList().leftPop(key).toString();
}

public String rpop(String key) {
return redisTemplate.opsForList().rightPop(key).toString();
}

public List<Object> range(String key, long start, long end) {
return redisTemplate.opsForList().range(key, start, end);
}

//- - - - - - - - - - - - - - - - - - - - - zset - - - - - - - - - - - - - - - - - - - -
public Boolean zadd(String key, Object value, double score) {
return redisTemplate.opsForZSet().add(key, value, score);
}

public Set<Object> zrangeByScore(String key, double min, double max) {
return redisTemplate.opsForZSet().rangeByScore(key, min, max);
}

public Long zrank(String key, Object value) {
return redisTemplate.opsForZSet().rank(key, value);
}

public Long zrem(String key, Object... values) {
return redisTemplate.opsForZSet().remove(key, values);
}
}

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック