介绍
这篇文章主要为大家展示了“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 null2.0 spring-data-redis怎么用