SpringBoot集成redis缓存

1.使用Spring-data包为redis客户端连接工具

在pom文件中添加以下依赖:

    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

2.添加redis相关配置

在application.properties中添加以下配置

# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=xxx.xxx.xxx.xxx
# Redis服务器连接端口
spring.redis.port=xxxx
# Redis服务器连接密码(默认为空)
spring.redis.password=xxxxxx
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=0

3.添加redisTemplate的bean

添加配置类,代码如下:

@Configuration
public class RedisConfig {

    @Autowired
    JedisConnectionFactory jedisConnectionFactory;

    /**
     * @return redisTemplate 相当于xml中的bean
     */
    @Bean
    RedisTemplate<String, Object> redisTemplate(){
        RedisTemplate<String, Object> redisTemplate = new RedisTemplate();
        redisTemplate.setConnectionFactory(jedisConnectionFactory);
        return redisTemplate;
    }

}

4.测试redis是否可用

在test文件中添加以下单元测试内容,如测试通过则redis配置成功:

@RunWith(SpringRunner.class)
@SpringBootTest
public class RedisTest {

    @Autowired
    private RedisTemplate<String, Object> redisTemplate;

    @Test
    public void redisTest(){
        List<String> nameList= new ArrayList<>();
        nameList.add("name1");
        nameList.add("name2211");
        redisTemplate.opsForValue().set("name",  "demoName");
        redisTemplate.opsForValue().set("nameList", nameList);
        Assert.assertEquals(redisTemplate.opsForValue().get("name"), "demoName");
        System.out.printf(redisTemplate.opsForValue().get("nameList").toString());

    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java闲聊

SSM,第一天基于Maven的SSM整合,依赖关系搭建

2445
来自专栏java 成神之路

ReentrantLock 源码解析(JDK1.8)

3478
来自专栏微信公众号:Java团长

抢红包案例分析以及代码实现(四)

对于使用 Redis实现抢红包,首先需要知道的是Redis的功能不如数据库强大,事务也不是很完整.因此要保证数据的正确性数据的正确性可以通过严格的验证得以保证。

1563
来自专栏python爬虫日记

python2.7下urllib2的connection自动close的原因及解决办法

前文介绍了urllib2的常见问题的解决方案,今天来特别讨论下urllib2中短连接问题。

1224
来自专栏DeveWork

通过.htaccess 让WordPress 的上传文件夹更安全

WordPress本身的架构就很安全,但是我们可以做一些优化,让WordPress 更安全。WordPress的图片等文件的上传路径默认是wp-content/...

2019
来自专栏Python自动化测试

python接口测试之http请求

python的强大之处在于提供了很多的标准库,这些标准库可以直接调用,本节部分,重点学习和总结在接口测试中Python的Http请求的库的学习。

2293
来自专栏Netkiller

实操 Web Cache

实操 Web Cache 摘要 写这篇文章的原因,是我看到网上很多谈这类的文章,多是人云亦云,不求实事,误导读者。 下面文中我会一个一个做实验,并展示给你,说明...

4493
来自专栏SDNLAB

OpenStack Neutron中的DVR简介与OVS流表分析

本文主要介绍DVR的概念,比较了DVR和非DVR情况下,数据在network节点上的流量变化。同时也介绍了在OpenStack里面如何配置DVR,比较详细地介绍...

36110
来自专栏杨建荣的学习笔记

数据库日志中一条"异常"信息所包含的细节(r6笔记第18天)

今天在梳理服务器的信息的时候,发现有一台服务器没有设置crontab作业,一般的服务器中可能会需要一些定时的任务来触发一些备份,清理等等工作。 因为这是一台备库...

3095
来自专栏杨建荣的学习笔记

重启数据库的一场闹剧(r5笔记第68天)

在几周前,某个测试环境在尝试impdp导入dump的时候报了错误,有个DBA立马做了kill session的操作,但是持续了5个小时,session状态还是K...

3159

扫码关注云+社区