前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Boot & Redis

Spring Boot & Redis

作者头像
十毛
发布2019-03-27 15:02:57
7510
发布2019-03-27 15:02:57
举报

本文接着前面的继续,介绍如何快速接入Redis

三步实施

  • pom.xml
代码语言:javascript
复制
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
    <version>2.1.2.RELEASE</version>
</dependency>
  • application.properties
代码语言:javascript
复制
# Redis服务器地址
spring.redis.host=192.168.58.100
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=123456
# 连接超时时间(毫秒)
spring.redis.timeout=3000

这种方式也支持集群模式的服务器

  • 代码使用
代码语言:javascript
复制
@Resource
private RedisTemplate<String, String> redisTemplate;

@GetMapping("access/{id}")
public int access(@PathVariable("id") int id) {
    final Long count = redisTemplate.opsForValue().increment(Integer.toString(id));
    assert count != null;
    return (int)count.longValue();
}

Lettuce&Jedis&spring-boot-starter-data-redis三者的关系 LettuceJedis 的都是连接Redis Server的客户端程序。 Jedis在实现上是直连redis server,多线程环境下非线程安全,除非使用连接池,为每个Jedis实例增加物理连接。 Lettuce基于Netty的连接实例(StatefulRedisConnection),可以在多个线程间并发访问,且线程安全,满足多线程环境下的并发访问,同时它是可伸缩的设计,一个连接实例不够的情况也可以按需增加连接实例。 spring-boot-data-redis 内部实现了对LettuceJedis两个客户端的封装,默认使用的是Lettuce

连接池

多线程环境下,使用池化技术,提高性能。对Jedis来说更是必须,否则还会出现数据错误。

  • application.properties
代码语言:javascript
复制
#连接池最大连接数(使用负值表示没有限制)
spring.redis.lettuce.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.lettuce.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.lettuce.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.lettuce.pool.min-idle=0
  • pom.xml

需要引入commons-pools

代码语言:javascript
复制
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-pool2</artifactId>
    <version>2.6.0</version>
</dependency>

集群

代码语言:javascript
复制
# 集群节点(多个节点使用逗号分隔)
spring.redis.cluster.nodes=192.168.58.100:6379,192.168.58.101:6379
# Redis服务器连接密码(默认为空)
spring.redis.password=123456
# 连接超时时间(毫秒)
spring.redis.timeout=3000

参考

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.01.30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 三步实施
  • 连接池
  • 集群
  • 参考
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档