SpringBoot2.X より前は、公式に推奨されている Jedis 接続 Redis が直接使用されていました。
In 2 After 。操作は安全ではありません。安全でないことを回避したい場合は、Jedis プール接続プールを使用してください。BIO
lettuce: Netty は最下層として使用されます。インスタンスは複数のスレッド間で共有できます。 、スレッドの非互換性はありません。安全の場合は、スレッドの数を減らすことができます。NIO
#自動構成クラスはプロパティ ファイルにバインドされます
##デフォルトで注入される Bean
ただし、デフォルトの redisTemplate にはいくつかの問題があります。そのキーは Object 型ですが、一般的なキーはすべて String 型であり、強制的な型変換が必要です。そのため、前述したように、RedisTemplate を自分で定義できます
#SpringBoot 統合 Redis (構成)
spring: redis: host: localhost port: 6379Maven
在项目创建的时候选择,如果没有选择就添加
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
例, opsForValueは文字列を操作するためのものです
常用的操作可以直接点就可以了
关于事物的
redisTemplate.unwatch(); redisTemplate.watch("key"); redisTemplate.multi(); redisTemplate.discard(); redisTemplate.exec();
关于数据库的操作需要获取链接后使用连接对象操作
RedisConnection connection = redisTemplate.getConnectionFactory().getConnection();connection.flushAll();connection.flushDb();connection.close();
package co.flower.redis02springboot;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.data.redis.connection.RedisConnection;import org.springframework.data.redis.core.RedisTemplate; @SpringBootTestclass Redis02SpringbootApplicationTests {/** * 我居然直接就指定了泛型 RedisTemplate<String,Object>结果就直接报错了,删除泛型后成功 */@Autowiredprivate RedisTemplate redisTemplate; @Testvoid contextLoads() {// 英文测试redisTemplate.opsForValue().set("name","xiaojiejie"); System.out.println(redisTemplate.opsForValue().get("name"));// 中文测试redisTemplate.opsForValue().set("name","小姐姐"); System.out.println(redisTemplate.opsForValue().get("name")); } } 执行结果,SpringBoot的启动加载和结束销毁没有粘贴/***SpringBootStart****/xiaojiejie 小姐姐/***SpringBootStop*****/
以上がSpringBoot が Redis 操作 API を統合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。