SpringBoot整合生菜复述的实现方法

  

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   公共RedisTemplate

SpringBoot整合生菜复述的实现方法