Spring bootプロジェクト実戦:redis
4893 ワード
「spring bootプロジェクト実戦」のredisが使用され、本人が構築したspring boot webバックエンド開発フレームワークがGitHubにアップロードされました.ツッコミを歓迎します.https://github.com/q7322068/rest-base
ローカル(単点redis)
アプリケーション-local.properties(ローカル構成)にredis構成を追加するには、次の手順に従います.
ローカルredisにパスワードがない場合はspringを削除します.redis.passwordでいいです.
テスト&公式環境(哨兵)
アプリケーション-dev.properties(テスト環境)およびアプリケーション-prod.properties(本番環境)にredis構成を追加します.
注入StringRedisTemplate:
RedisTemplateを使用して操作します.
StringRedisTemplateはredis操作をよくカプセル化し、キー、文字列、ハッシュ、リスト、集合、秩序集合、HyperLogの操作に良好なサポートを提供した.基本的な使い方はredisTemplate.opsForXXX、XXXはタイプで、opsForValueは操作文字列です.opsForSetは操作集合、opsForListは操作リスト、opsForZSetは操作秩序集合、opsForHyperLogは操作HyperLogであり、基本的にその方法とredisコマンドは対応しており、名前と方法注釈に基づいて方法に対応するredisコマンドを迅速に特定することができる.
1、RedisObjectSerializerを作成する.java
2、redisTemplateを構成してRedisConfigを作成する.java
3、RedisTemplateを使う
1、maven依存を追加する
org.springframework.boot
spring-boot-starter-data-redis
2、redis構成の追加
ローカル(単点redis)
アプリケーション-local.properties(ローカル構成)にredis構成を追加するには、次の手順に従います.
###redis ###
spring.redis.host=127.0.0.1
spring.redis.port=7001
spring.redis.database=0
spring.redis.password=pwd
# pool settings ...
spring.redis.pool.max-idle=4
spring.redis.pool.min-idle=1
spring.redis.pool.max-active=4
spring.redis.pool.max-wait=2000
ローカルredisにパスワードがない場合はspringを削除します.redis.passwordでいいです.
テスト&公式環境(哨兵)
アプリケーション-dev.properties(テスト環境)およびアプリケーション-prod.properties(本番環境)にredis構成を追加します.
###redis ###
spring.redis.database=0
spring.redis.password=pwd
# pool settings ...
spring.redis.pool.max-idle=4
spring.redis.pool.min-idle=1
spring.redis.pool.max-active=4
spring.redis.pool.max-wait=2000
# redis server
spring.redis.sentinel.master=mymaster
#
spring.redis.sentinel.nodes=host:port,host2:port2
3、StringRedisTemplateで操作する
注入StringRedisTemplate:
@Autowired
private StringRedisTemplate redisTemplate;
RedisTemplateを使用して操作します.
// ,
redisTemplate.opsForValue().set("test", "test", 10, TimeUnit.SECONDS);
//
String value = redisTemplate.opsForValue().get("test");
//
redisTemplate.delete("test");
// set
redisTemplate.opsForSet().add("testSet", "1");
Set members = redisTemplate.opsForSet().members("testSet");// set
redisTemplate.opsForSet().remove("testSet", "1","2");// set
// list
redisTemplate.opsForList().rightPush("testList", "1");
List list = redisTemplate.opsForList().range("testList", 0, -1);// list
StringRedisTemplateはredis操作をよくカプセル化し、キー、文字列、ハッシュ、リスト、集合、秩序集合、HyperLogの操作に良好なサポートを提供した.基本的な使い方はredisTemplate.opsForXXX、XXXはタイプで、opsForValueは操作文字列です.opsForSetは操作集合、opsForListは操作リスト、opsForZSetは操作秩序集合、opsForHyperLogは操作HyperLogであり、基本的にその方法とredisコマンドは対応しており、名前と方法注釈に基づいて方法に対応するredisコマンドを迅速に特定することができる.
4、RedisTemplateで操作する
1、RedisObjectSerializerを作成する.java
import org.springframework.core.convert.converter.Converter;
import org.springframework.core.serializer.support.DeserializingConverter;
import org.springframework.core.serializer.support.SerializingConverter;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.SerializationException;
public class RedisObjectSerializer implements RedisSerializer
2、redisTemplateを構成してRedisConfigを作成する.java
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate redisTemplate(RedisConnectionFactory factory) {
RedisTemplate template = new RedisTemplate();
template.setConnectionFactory(factory);
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new RedisObjectSerializer());
return template;
}
}
3、RedisTemplateを使う
// RedisTemplate
@Autowired
private RedisTemplate objRedisTemplate;
// RedisTemplate
User user = new User();
user.setId(1);
user.setName("test");
objRedisTemplate.opsForValue().set("user", user,10,TimeUnit.SECONDS);
user = (User) objRedisTemplate.opsForValue().get("user");