Sprintboot中使用Redis的一些总结

Sprintboot中使用Redis的一些总结

初步使用

在pom.xml中加入redis相关依赖

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

然后在properties文件中配置配置文件

spring.redis.host=xxx
spring.redis.port=6379
spring.redis.password=xxxx
spring.redis.pool.max-active=-1
spring.redis.pool.max-wait=-1
spring.redis.pool.max-idle=8
spring.redis.pool.min-idle=0
spring.redis.timeout=1000

然后就可以直接使用stringRedisTemplate来向Redis里面存取数据了:

	@Autowired
	private StringRedisTemplate stringRedisTemplate;

	// 保存字符串
	@Test
	public void test() {
		stringRedisTemplate.opsForValue().set("myStr", "abcdefg");
		Assert.assertEquals("abcdefg", stringRedisTemplate.opsForValue().get("myStr"));

	}

简单的使用就是这么简单,甚至于连stringRedisTemplate 是什么时候注入的都不知道,就能直接用了。所以还是稍微探究一下他到底是怎么肥似。

探究一下

首页探究到了这个类RedisProperties
Redis配置文件
看一下发现这几点:
1.类上面有个注解@ConfigurationProperties(prefix = "spring.redis") 这里是封装了Redis所有配置文件的一个类。所以properties文件中怎么写Redis的配置,从这个类就能看出来了。首先一个,配置都要以spring.redis为前缀,里面能配置的内容包括:host、端口、密码、连接池、集群啥的都有。
2.这个类上面只有@ConfigurationProperties注解,并没有注入IOC相关的注解,所以单看这个类他是没有注入IOC容器的。
3.这里面有3个对象(pool、sentinel、cluster),所以如果配置host 可以写成spring.redis.host=localhost ,但是要配置连接池的放就要看一下Pool对象有什么属性了,所以连接池的配置要写成spring.redis.pool.maxIdle=8 , 但是在properties文件中去写spring.redis.pool. 后面提示的是max-idle,意思应该是一个意思,应该是哪里做了映射,但是我没找到。所以还是以提示的为准。

属性配好了,下面就是找到根据属性来连Redis了。接下来在RedisProperties的同级目录下,找到个RedisAutoConfiguration类:
Redis自动配置文件
看这个@EnableConfigurationProperties(RedisProperties.class) 有了这个Enable才将上面看到的RedisProperties类注入到IOC容器。注意这里的@EnableConfigurationProperties注解,他是配合上面RedisProperties类中的@ConfigurationProperties注解一起使用,才能将RedisProperties注入到IOC的。因为上面的RedisProperties类上没有注入IOC的任何相关注解,只有一个@ConfigurationProperties,所以RedisProperties并不是一定会注入IOC,@EnableConfigurationProperties相当于把使用 @ConfigurationProperties 的类进行了一次注入。

RedisAutoConfiguration类里面有两个内部类:RedisConnectionConfigurationRedisConfiguration
在这里插入图片描述
先看RedisConnectionConfiguration类:
RedisConnectionConfiguration类
类上的注释说了,这是一个Redis连接配置类。里面是三种配置方式的配置:

  • RedisProperties properties 简单配置,单机版本
  • RedisSentinelConfiguration sentinelConfiguration 主从版本配置
  • RedisClusterConfiguration clusterConfiguration 集群版本配置

这几个配置文件下面就是一个注入到IOC的JedisConnectionFactory,他是Redis的连接工厂类,主要作用就是根据配置文件中的配置来取Redis各种连接。

再下面一个类是RedisConfiguration
RedisConfiguration类
注释里面说这是一个标准的Redis配置类。
这个类里面配置了2个Bean,redisTemplatestringRedisTemplate ,终于找到他们了,上面说的stringRedisTemplate 是在这里注入到IOC的。
但是这2个Bean的配置上面都有一个@ConditionalOnMissingBean 注解,看字面意思大概能猜的到,意思是只有当我们没有注入括号里面指定的Bean对象的时候,这2个类上面的@Bean才起作用。所以当我们不手动进行任何配置的时候仍然可以使用redisTemplatestringRedisTemplate

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringBoot是一个开源框架,主要用于简化Java应用程序的创建和部署。它提供了很多开箱即用的功能模块,使得开发人员可以快速构建和管理后端应用程序。 Vue是一个流行的JavaScript框架,用于构建用户界面。它提供了响应式的数据绑定和组件化的架构,使得前端开发更加高效和灵活。 Axios是一个基于Promise的HTTP库,用于发送Ajax请求。它可以在浏览器和Node.js使用,使得前后端数据交互更加简单和强大。 Redis是一个内存数据库,用于存储和读取数据。它支持多种数据类型,并提供了快速、稳定的数据访问能力。Redis还可以用作缓存和消息队列,提高系统性能和可靠性。 当使用SpringBoot、Vue、Axios和Redis进行开发时,可以实现一个完整的前后端分离的应用程序。前端使用Vue进行页面交互和数据展示,通过Axios发送请求到后端。后端使用SpringBoot处理请求和业务逻辑,并使用Redis进行数据的读取和存储。 使用SpringBoot可以快速搭建一个后端框架,提供路由、控制器、数据库连接等功能。使用Vue可以方便地构建用户界面,并实现数据的双向绑定和组件的复用。Axios可以发送请求到后端,获取数据并进行展示。Redis可以作为缓存,加速数据的读取和响应速度。 总结来说,SpringBoot、Vue、Axios和Redis是一个强大的组合,可以实现快速开发、高效的前后端分离应用程序。它们各自的特性和功能互补,共同促进了应用程序的开发和运行效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值