第 8 章 数据访问进阶(1)
丁雪丰
本章内容
适用于生产环境的连接池配置技巧
在 Spring 工程中使用 Redis 的方法
通过 Spring 的缓存抽象简化缓存的使用
前两章我们都在讨论如何实现基本的数据库操作:直接使用 JDBC,或者通过 ORM 框架。但在实际的生产环境中,仅仅实现基本的操作是不够的,甚至只用关系型数据库也是不够的,我们还需要 NoSQL 的帮助,遇到热点数据,还要增加缓存为数据库减负。所以,在这一章里,我们就要来聊聊这些进阶的内容。
8.1 连接池的实用配置
在之前的章节里,我们基本都是在使用 Spring Boot 提供的默认数据库连接池配置,它能满足基本的需求。但在生产环境中会遇到很多实际的问题,光靠基本配置就有点捉襟见肘了,例如,连接数据库用的密码属于需要保护的敏感信息,不能直接放在配置文件里该怎么办?为了方便排查问题,希望能记录执行的所有 SQL 该怎么办?
8.1.1 保护敏感的连接配置
连接数据库所需的信息包括三个要素——JDBC URL、用户名和密码。数据库密码是需要重点保护的信息,所以像第 6 章的代码示例那样以明文方式将密码写在 application.properties 里显然是不合适的。也许你会说:“为配置文件设置一个普通用户不可读的权限,只有运维人员能查看其中的内容行不行?”负责安全的工作人员会告诉你:“不行!”
在本节中,我们先来了解一下如何为 HikariCP 和 Druid 实现密码加密功能,而在后续的第 14 章,我们还会聊到 Spring Cloud Config 的配置项加密功能。如果你正在使用 Spring Cloud Config,集中式地管理加密密码会是一个相对更好的选择。
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
![](https://static001.geekbang.org/resource/image/d0/e4/d0880927e2a522a038be2d04bf19dfe4.png)
本文深入探讨了在生产环境中数据访问的进阶技巧,包括连接池配置、Redis 的使用以及 Spring 缓存抽象的简化应用。在生产环境中,除了基本的数据库操作外,还需要借助 NoSQL 数据库,并加入缓存以减轻数据库负担。文章重点讨论了连接池的实用配置,包括保护敏感连接配置和使用 Druid 内置功能实现密码加密。此外,还介绍了记录 SQL 语句执行情况的方法,以及在 Spring 工程中访问 Redis 的相关内容,包括 Redis 的特点、数据结构以及在实践中的应用。通过本文的介绍,读者可以快速了解在 Spring 工程中如何使用 Redis 来提升系统性能和处理大量数据的方法。文章内容涵盖了实用的技巧和方法,对于需要深入了解数据访问进阶的读者具有一定的参考价值。文章还介绍了如何将 Lettuce 替换为 Jedis,以及 Redis 的基本操作,包括使用 RedisTemplate 进行各种数据结构的操作,以及在实际应用中如何利用 Redis 进行缓存,从而提升系统性能。文章内容丰富,适合需要深入了解数据访问技巧的读者阅读参考。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《学透 Spring:从入门到项目实战》
《学透 Spring:从入门到项目实战》
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论