返回介绍

13.4 小结

发布于 2024-08-17 00:45:49 字数 630 浏览 0 评论 0 收藏 0

如果想让应用程序避免一遍遍地为同一个问题推导、计算或查询答案的话,缓存是一种很棒的方式。当以一组参数第一次调用某个方法时,返回值会被保存在缓存中,如果这个方法再次以相同的参数进行调用时,这个返回值会从缓存中查询获取。在很多场景中,从缓存查找值会比其他的方式(比如,执行数据库查询)成本更低。因此,缓存会对应用程序的性能带来正面的影响。

在本章中,我们看到了如何在Spring应用中声明缓存。首先,看到的是如何声明一个或更多的Spring缓存管理器。然后,将缓存用到了Spittr应用程序中,这是通过将@Cacheable、@CachePut和@CacheEvict添加到SpittleRepository上实现的。

我们还看到了如何借助XML将缓存规则的配置与应用程序代码分离开来。<cache:cacheable>、<cache:cache-put>和<cache:cache-evict>元素的作用与本章前面所使用的注解是一致的。

在这个过程中,我们讨论了缓存实际上是一种面向切面的行为。Spring将缓存实现为一个切面。在使用XML声明缓存规则时,这一点非常明显:我们必须要将缓存通知绑定到一个切点上。

Spring在将安全功能应用到方法上时,同样使用了切面。在下一章中,我们将会看到如何借助Spring Security确保bean方法的安全性。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文