SpringBoot是为了简化春天应用的创建、运行,调试,部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个WEB工程
春季启动除了支持常见的ORM框架外,更是对常用的中间件提供了非常好封装,随着春天Boot2.x的到来,支持的组件越来越丰富,也越来越成熟,其中对复述的支持不仅仅是丰富了它的API,更是替换掉底层能的依赖,取而代之换成了生菜(生菜)
复述是一个开源的使用ANSI C语言编写,支持网络,可基于内存亦可持久化的日志型,键值数据库,并提供多种语言的API。相比Memcached它支持存储的类型相对更多(字符,哈希,集合,有序集合,列表,GEO),同时复述是线程安全的.2010年3月15日起,复述的开发工作由VMware主持,2013年5月开始,复述的开发由关键赞助。
生菜和能的都是连接复述,服务器的客户端程序.Jedis在实现上是直连复述,服务器,多线程环境下非线程安全,除非使用连接池,为每个能实例增加物理连接.Lettuce基于网状的的连接实例(StatefulRedisConnection),可以在多个线程间并发访问,且线程安全,满足多线程环境下的并发访问,同时它是可伸缩的设计,一个连接实例不够的情况也可以按需增加连接实例。
在pom。xml中spring-boot-starter-data-redis的依赖,春天Boot2。x后底层不在是能如果做版本升级的朋友需要注意下
& lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-data-redis & lt;/dependency> & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-web & lt;/dependency> & lt; dependency> & lt; groupId> org.apache.commons & lt; artifactId> commons-pool2 & lt;/dependency> & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-test & lt; scope> test & lt;/dependency> >之前
在应用程序。属性文件中配置如下内容,由于春天Boot2。x的改动,连接池相关配置需要通过spring.redis.lettuce。池或者spring.redis.jedis。池进行配置了
spring.redis.host=localhost spring.redis.password=battcn #连接超时时间(毫秒) spring.redis.timeout=10000 #复述,默认情况下有16个分片,这里配置具体使用的分片,默认是0 spring.redis.database=0 #连接池最大连接数(使用负值表示没有限制)默认8 spring.redis.lettuce.pool.max-active=8 #连接池最大阻塞等待时间(使用负值表示没有限制)默认1 spring.redis.lettuce.pool.max-wait=1 #连接池中的最大空闲连接默认8 spring.redis.lettuce.pool.max-idle=8 #连接池中的最小空闲连接默认0 spring.redis.lettuce.pool.min-idle=0 >之前
春季启动对复述的支持已经非常完善了,良好的序列化以及丰富的API足够应对日常开发
<>强实体类强>
创建一个用户类
包com.battcn.entity; 进口java.io.Serializable;/* * * @author莱文 * @since 2018/5/10 0007 */公开课用户实现了Serializable { 私有静态最终长serialVersionUID=8655851615465363473 l; 私人长id; 私人字符串的用户名; 私人密码字符串;//TODO省略得到设置 } >之前<>强自定义模板强>
默认情况下的模板只能支持RedisTemplate&肝移植;字符串,String& gt;,也就是只能存入字符串,这在开发中是不友好的,所以自定义模板是很有必要的,当自定义了模板又想使用字符串存储这时候就可以使用StringRedisTemplate的方式,它们并不冲突…
包com.battcn.config; 进口org.springframework.boot.autoconfigure.AutoConfigureAfter; 进口org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; 进口org.springframework.context.annotation.Bean; 进口org.springframework.context.annotation.Configuration; 进口org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; 进口org.springframework.data.redis.core.RedisTemplate; 进口org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer; 进口org.springframework.data.redis.serializer.StringRedisSerializer; 进口java.io.Serializable;/* * * TODO修改数据库 * * @author莱文 * @since 2018/5/10 0022 */@ configuration @AutoConfigureAfter (RedisAutoConfiguration.class) 公开课RedisCacheAutoConfiguration { @ bean 公共RedisTemplateSpringBoot整合生菜复述的实现方法