Spring Boot 揭秘与实战(二) 数据存储篇 - Redis
文章目录
本文讲解Spring Boot基础下,如何整合Redis,编写数据访问。
环境依赖
修改 POM 文件,添加 spring-boot-starter-redis 依赖。
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-redis</artifactId>
- </dependency>
数据源
方案一 使用 Spring Boot 默认配置
在 src/main/resources/application.properties 中配置数据源信息。
- spring.redis.host=localhost
- spring.redis.port=6379
- spring.redis.password=
- spring.redis.database=1
- spring.redis.pool.max-active=8
- spring.redis.pool.max-wait=-1
- spring.redis.pool.max-idle=500
- spring.redis.pool.min-idle=0
- spring.redis.timeout=0
方案二 手动创建
在 src/main/resources/config/redis.properties 中配置数据源信息。
- # redis
- redis.host=localhost
- redis.port=6379
- redis.password=
- redis.database=1
通过 Java Config 创建redisTemplate。
- @Configuration
- @PropertySource("classpath:config/redis.properties")
- public class RedisConfig {
- @Autowired
- private Environment env;
- @Bean
- public RedisConnectionFactory redisConnectionFactory() {
- JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
- JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
- jedisConnectionFactory.setHostName(env.getProperty("redis.host").trim());
- jedisConnectionFactory.setPort(Integer.parseInt(env.getProperty("redis.port").trim()));
- jedisConnectionFactory.setPassword(env.getProperty("redis.password").trim());
- jedisConnectionFactory.setDatabase(Integer.parseInt(env.getProperty("redis.database").trim()));
- jedisConnectionFactory.setUsePool(true);
- jedisConnectionFactory.setPoolConfig(jedisPoolConfig);
- return jedisConnectionFactory;
- }
- @Bean
- public RedisTemplate<String, String> redisTemplate() {
- RedisTemplate<String, String> redisTemplate = new StringRedisTemplate();
- redisTemplate.setConnectionFactory(redisConnectionFactory());
- redisTemplate.afterPropertiesSet();
- return redisTemplate;
- }
- }
使用 redisTemplate 操作
工具类
- @Repository
- public class RedisBaseDao {
- @Resource(name="redisTemplate")
- protected ValueOperations<String, String> valueOperations;
- public void addValue(String key, String value){
- valueOperations.set(key, value);
- }
- public String getValue(String key){
- return valueOperations.get(key);
- }
- }
测试类
- @Repository
- public class ValueRedisDao {
- @Autowired
- public RedisBaseDao redisBaseDao;
- private String getKey(){
- return "param";
- }
- public void save(String param){
- this.redisBaseDao.addValue(this.getKey(), param);
- }
- public String getParam(){
- return this.redisBaseDao.getValue(this.getKey());
- }
- }
单元测试用例
编写单元测试用例,测试Redis是否正常工作。
- @RunWith(SpringJUnit4ClassRunner.class)
- @SpringApplicationConfiguration(WebMain.class)
- public class RedisTest {
- @Autowired
- private ValueRedisDao valueRedisDao;
- @Test
- public void test() throws Exception {
- this.valueRedisDao.save("LiangGzone");
- System.out.println(this.valueRedisDao.getParam());
- }
- }
总结
上面这个简单的案例,让我们看到了 Spring Boot 整合 Redis 的整个流程。实际上,与 Spring 4 中 通过 Spring Data Redis 整合 Redis 并无二意, Spring Boot 默认集成了一些配置信息,但是个人更加偏向于方案二的手动创建方式,为什么呢,因为更方便扩展。
源代码
相关示例完整代码: springboot-action
(完)
如果觉得我的文章对你有帮助,请随意打赏。

- 版权声明:本文由 梁桂钊 发表于 梁桂钊的博客
- 转载声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证),非商业转载请注明作者及出处,商业转载请联系作者本人。
- 文章标题:Spring Boot 揭秘与实战(二) 数据存储篇 - Redis
- 文章链接:http://blog.720ui.com/2016/springboot_02_data_redis/
Spring Boot 揭秘与实战(二) 数据存储篇 - Redis的更多相关文章
- Spring Boot 揭秘与实战(二) 数据存储篇 - 声明式事务管理
文章目录 1. 声明式事务 2. Spring Boot默认集成事务 3. 实战演练4. 源代码 3.1. 实体对象 3.2. DAO 相关 3.3. Service 相关 3.4. 测试,测试 本文 ...
- Spring Boot 揭秘与实战(二) 数据存储篇 - ElasticSearch
文章目录 1. 版本须知 2. 环境依赖 3. 数据源 3.1. 方案一 使用 Spring Boot 默认配置 3.2. 方案二 手动创建 4. 业务操作5. 总结 4.1. 实体对象 4.2. D ...
- Spring Boot 揭秘与实战(二) 数据存储篇 - MongoDB
文章目录 1. 环境依赖 2. 数据源 2.1. 方案一 使用 Spring Boot 默认配置 2.2. 方案二 手动创建 3. 使用mongoTemplate操作4. 总结 3.1. 实体对象 3 ...
- Spring Boot 揭秘与实战(二) 数据存储篇 - JPA整合
文章目录 1. 环境依赖 2. 数据源 3. 脚本初始化 4. JPA 整合方案一 通过继承 JpaRepository 接口 4.1. 实体对象 4.2. DAO相关 4.3. Service相关 ...
- Spring Boot 揭秘与实战(二) 数据存储篇 - MyBatis整合
文章目录 1. 环境依赖 2. 数据源3. 脚本初始化 2.1. 方案一 使用 Spring Boot 默认配置 2.2. 方案二 手动创建 4. MyBatis整合5. 总结 4.1. 方案一 通过 ...
- Spring Boot 揭秘与实战(二) 数据存储篇 - 数据访问与多数据源配置
文章目录 1. 环境依赖 2. 数据源 3. 单元测试 4. 源代码 在某些场景下,我们可能会在一个应用中需要依赖和访问多个数据源,例如针对于 MySQL 的分库场景.因此,我们需要配置多个数据源. ...
- Spring Boot 揭秘与实战(二) 数据存储篇 - MySQL
文章目录 1. 环境依赖 2. 数据源3. 脚本初始化 2.1. 方案一 使用 Spring Boot 默认配置 2.2. 方案二 手动创建 4. 使用JdbcTemplate操作5. 总结 4.1. ...
- Spring Boot 揭秘与实战(二) 数据缓存篇 - 快速入门
文章目录 1. 声明式缓存 2. Spring Boot默认集成CacheManager 3. 默认的 ConcurrenMapCacheManager 4. 实战演练5. 扩展阅读 4.1. Mav ...
- Spring Boot 揭秘与实战(二) 数据缓存篇 - Redis Cache
文章目录 1. Redis Cache 集成 2. 源代码 本文,讲解 Spring Boot 如何集成 Redis Cache,实现缓存. 在阅读「Spring Boot 揭秘与实战(二) 数据缓存 ...
随机推荐
- 杂记-格式化Date默认格式,日期加一天,jstl判断字符类型,ajax模拟from表单后台跳转页面,jstl访问数据库并在页面显示
1.格式化Date默认格式 String str="Sun Oct 08 22:36:45 CST 2017"; SimpleDateFormat sdf = new Simple ...
- 2017-4-13/MySQL
1. mysql一般的连接方式都有哪些,各自优缺点. MySQL:过程式风格,最常用. MySQLi:MySQL的增强扩展,提供了过程化和面向对象两种风格的API,增加了预编译和参数绑定等新特性, 但 ...
- 【LeetCode】Permutation全排列
1. Next Permutation 实现C++的std::next_permutation函数,重新排列范围内的元素,返回按照 字典序 排列的下一个值较大的组合.若其已经是最大排列,则返回最小排列 ...
- html中传递信息
<div class="card" data-username="ArgenBarbie"> </div> JS: var userna ...
- Hadoop--单点故障修复
nameNode单点故障修复 1.启动虚拟机,启动集群 此时我们将主机hadoop1关机(断掉主机),开始抢救: 1.使用 秘书(secondaryNameNode),成功率不是100% (这里我 ...
- Hadoop---目录结构介绍
Hadoop---目录结构介绍 1.Hadoop目录结构 1.一级目录介绍 2.etc详解: 3sbin 4.bin 5.share 6.一个数独测试 2.hadoop的历史 3. Ha ...
- loj 10000 活动安排
****这是一个贪心题,把结束时间排个序,然后留出更多的时间给后面的活动. #include<cstdio> #include<cstring> #include<alg ...
- python dpkt解析ssl流
用法:python extract_tls_flow.py -vr white_pcap/11/2018-01-10_13-05-09_2.pcap -o pcap_ssl_flow.txt & ...
- textarea标签内的文字无缘故居中解决原因
<textarea> 内容内容 </textarea> 浏览器会解析为 <textarea><br> 内容内容</textarea> ...
- Google Protocol Buffers 反序列化 转
http://www.cnblogs.com/royenhome/archive/2010/10/30/1865256.html 本文作为结束篇,会稍微介绍下怎么反序列化GoogleBuffer数 ...