spring redistemplate,redistemplate redission

  spring redistemplate,redistemplate redission

  urityContextHolder.getContext().getAuthentication().getPrincipal()).getId();ValueOperations<String, Object> valueOperations =redisTemplate.opsForValue();//查询缓存中是否有数据List<Menu> menus = (List<Menu>) valueOperations.get("menu_" + adminId);if (CollectionUtils.isEmpty(menus)){menus = menuMapper.getMenusByAdminId(adminId);valueOperations.set("menu_"+adminId,menus);}return menus;}

 

  

使用Redisrepository访问redis

需要声明一配置项用于启用Repository以及模板

 

  

public class RedisConfig { @Bean public LettuceConnectionFactory redisConnectionFactory() { RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration("127.0.0.1", 6567); redisStandaloneConfiguration.setPassword("password");//如果有密码需要通过这个函数设置密码 return new LettuceConnectionFactory(redisStandaloneConfiguration); }@Bean public JedisConnectionFactory jedisConnectionFactory(){ //如果使用jedis作为客户端也需要声明该bean 使用与上面的类似}@Bean public RedisTemplate<?,?> redisTemplate(){ RedisTemplate<String,Object> template = new RedisTemplate<>(); RedisSerializer<String> stringSerializer = new StringRedisSerializer(); JdkSerializationRedisSerializer jdkSerializationRedisSerializer = new JdkSerializationRedisSerializer(); template.setConnectionFactory(redisConnectionFactory()); template.setKeySerializer(stringSerializer); template.setHashKeySerializer(stringSerializer); template.setValueSerializer(stringSerializer); template.setHashValueSerializer(jdkSerializationRedisSerializer); template.setEnableTransactionSupport(true); template.afterPropertiesSet(); return template; }}

 

  

实例:

entity

 

  

import lombok.Data;import lombok.experimental.Accessors;import org.springframework.data.redis.core.RedisHash;import org.springframework.data.redis.core.index.Indexed;@Accessors(chain = true)@Data@RedisHash(value="Student",timeToLive = 10)public class stu implements Serializable { public enum Gender{ MALE,FEMALE } private String id; @Indexed private String name; private Gender gender; //RedisHash注解用于声明该实体将被存储与RedisHash中,如果需要使用repository的数据访问形式,这个注解是必须用到的 timetoLive为实体对象在数据库的有效期 //@Indexed用于标注需要作为查询条件的属性}

写接口repository:

 

  

@Repositorypublic interface StuRepository extends CrudRepository<stu,String> {stu findByName(String name);//自定义查询方法,使用了@Indexed的name属性查询}

调用:

 

  

@SpringBootTestpublic class RedisApplicationTests { @Autowired StuRepository stuRepository; @Test void testSave(){ stu student = new stu().setId("0002").setName("xiaoming").setGender(stu.Gender.FEMALE); stuRepository.save(student);//根据id更新或者新增记录 } @Test void testFindBy(){ //使用主键查询 assert stuRepository.findById("0002").isPresent(); //根据自定义方法查询 assert stuRepository.findByName("xiaoming") !=null; }}

到此这篇关于springboot使用redisRepository和redistemplate操作redis的过程解析的文章就介绍到这了,更多相关springboot整合redis内容请搜索盛行IT以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT!

 

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 关于redis数据库入门详细介绍图片,redis数据库的使用,关于Redis数据库入门详细介绍
  • redis队列操作命令,redis 循环队列
  • redis队列操作命令,redis 循环队列,redis实现简单队列
  • redis部署应用服务器上,redis如何启动服务器
  • redis部署应用服务器上,redis如何启动服务器,搭建Redis服务器步骤详细介绍
  • redis缓存穿透和击穿解决方案,redis缓存穿透,缓存雪崩解决
  • redis缓存穿透和击穿解决方案,redis缓存穿透,缓存雪崩解决,redis缓存穿透解决方法
  • Redis缓存,redis和缓存
  • Redis缓存,redis和缓存,Redis缓存详解
  • redis的配置,启动,操作和关闭方法有哪些,关闭redis的命令,Redis的配置、启动、操作和关闭方法
  • redis的主从配置方法详解图,Redis主从配置
  • redis的主从配置方法详解图,Redis主从配置,redis的主从配置方法详解
  • redis界面工具,mac安装redis可视化工具
  • redis界面工具,mac安装redis可视化工具,推荐几款 Redis 可视化工具(太厉害了)
  • redis正确使用的十个技巧是什么,redis正确使用的十个技巧有哪些
  • 留言与评论(共有 条评论)
       
    验证码: