
随着用户规模的不断扩大,认证、授权和加密等模块的调用次数会迅速增加。例如,当每秒有 100 万用户尝试登录系统时,认证模块每秒会被调用 100 万次。此时, CPU 和 Memory 都会飙升,性能问题将不可避免地浮现出来。
那么,如何在架构层面解决这些可能出现的性能瓶颈呢?最常见的解决方案就是引入缓存机制。有很多数据实际上并不需要在每次请求中都重新计算,我们可以将计算结果缓存起来,至少在一个特定的时间段以内,都可以直接从缓存中捞出数据,从而显著降低系统资源的消耗。
提升性能正是 Shiro 框架引入缓存机制的一个重要原因。
在 Shiro 中,缓存主要用于以下 3 个方面:
认证缓存:存储用户的认证信息,避免每次请求都需要重新认证。
授权缓存:存储用户的角色和权限信息,避免每次访问资源都去查询数据库获取权限。
Session 缓存: 用来缓存会话信息。
注意:默认情况下,Shiro 并不会启用任何缓存,开发者需要在 ShiroConfig.java 中显式配置缓存管理器,指定 Shiro 应该使用哪种缓存组件。
发布于:湖南省办理股票配资提示:文章来自网络,不代表本站观点。