2.0 spring-data-redis怎么用

  介绍

这篇文章主要为大家展示了“spring-data-redis 2.0怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“spring-data-redis 2.0怎么用”这篇文章吧。

在使用春天Boot2。x运行复述时,发现百度不到顺手的文档,搞通后发现其实这个过程非常简单和简洁,觉得有必要拿出来分享一下。

春Boot2。x不再使用能,换成了Lettuce.Lettuce是基于网状的实现的,所以性能更好。但是我看到很多文章居然在春天引导2。x还在写能的配置。

<强>依赖

依赖比较简单,spring-boot-starter-data-redis, commons-pool2即可。

& lt; !——, redis ——比;   ,,,& lt; dependency>   ,,,,,& lt; groupId> org.springframework.boot   ,,,,,& lt; artifactId> spring-boot-starter-data-redis   ,,,& lt;/dependency>         ,,,& lt; !——spring2.0集成复述所需common-pool2——比;   ,,,& lt; dependency>   ,,,,,& lt; groupId> org.apache.commons   ,,,,,& lt; artifactId> commons-pool2   ,,,,,& lt; version> 2.4.2   ,,,& lt;/dependency>

<强>属性配置

在属性中配置复述,服务器的访问地址,密码,数据库,并配置连接池的属性。

,复述,:   ,,#,里德的连接ip   主持人:127.0.0.1。才能   ,,端口:6379   密码:才能helloworld   ,,   #才能,复述,默认情况下有16个分片,这里配置具体使用的分片,默认是0   ,,数据库:0   ,,   #,才能连接超时时间(毫秒)   超时:才能10000 ms   ,,   #,才能redis 客户配置,使用莴苣   生菜才能:   ,,池:   ,,,#,连接池中的最小空闲连接,默认,0   ,,,min-idle: 0   ,,,#,连接池最大阻塞等待时间(使用负值表示没有限制),默认,1   ,,,最大等待:1000 ms   ,,,#,连接池最大连接数(使用负值表示没有限制),默认,8   ,,,max-active: 8   ,,,#,连接池中的最大空闲连接,默认,8   ,,,最大空闲:,8

<强>注解配置

全局使能缓存

@EnableSwagger2 ,,,,//,使用swagger  api 功能   @EnableCaching ,,,,,//,使用缓存   @SpringBootApplication   public  class  Starter  {      public 才能;static  void  main (String [], args), {   ,,,SpringApplication.run (Starter.class, args);   ,,}   }

通过注解使用缓存,@Cacheable将获取值存入缓存

,/* *   ,,*,基于id 获取用户信息   ,,*/@Cacheable才能(值=https://www.yisu.com/zixun/坝没А?键=" # id ",除非=" #结果==null”)   公共UserDTO GetUserById (int id) {   用户userEntity=userMapper.getUserByID (id);   如果(userEntity==null) {   返回null;   }      转DTO *//*实体   UserDTO UserDTO=new UserDTO ();   userDTO.setAge (userEntity.getAge ());   userDTO.setId (id);   userDTO.setName (userEntity.getName ());   userDTO.setCreateTime (unixTime2String (userEntity.getCreateTime ()));   userDTO.setPhone (userEntity.getPhone ());   userDTO.setEmail (userEntity.getEmail ());   返回userDTO;   }

@CachePut更新缓存

,, @CachePut (=value “user",,关键=? p0.id")   public 才能;UserDTO  updateUser (InputUserInfoDTO  inputUserInfoDTO) {   ,,,userMapper.updateUser (inputUserInfoDTO.getId (),, inputUserInfoDTO.getName (),, inputUserInfoDTO.getAge ());   ,,,User  userEntity =, userMapper.getUserByID (inputUserInfoDTO.getId ());/*, entity 转,DTO  */,,,if  (null ==, userEntity) {   ,,,,,return 零;   ,,,}   ,,,UserDTO  UserDTO =, new  UserDTO ();   ,,,userDTO.setAge (userEntity.getAge ());   ,,,userDTO.setId (userEntity.getId ());   ,,,userDTO.setName (userEntity.getName ());   ,,,userDTO.setCreateTime (unixTime2String (userEntity.getCreateTime ()));   ,,,userDTO.setPhone (userEntity.getPhone ());   ,,,userDTO.setEmail (userEntity.getEmail ());   ,,,return  userDTO;   以前,,}

@CacheEvict删除缓存

,, @CacheEvict (=value “user",,关键=? id")   public 才能;void  deleteUser (int  id) {   ,,,userMapper.deleteUser (id);   以前,,}

当然为了支持序列化,我的UserDTO得实现了Serializable

@ data   public  class  UserDTO  implements  Serializable  {//public  class  UserDTO  implements  Serializable  {   private 才能int  id;   private 才能;String 名称;   private 才能;int 年龄;   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

2.0 spring-data-redis怎么用