缓存对于某些不要求实时获取最新数据的请求非常好用,如果再高并发环境下,数据库成为系统的性能瓶颈,使用缓存能够大幅度提升系统性能。
本文以Redis作为缓存容器,结合Spring来模拟一个缓存系统。
个人认为,如果你会使用Redis,则完全没有必要将其与Spring整合来实现缓存,自己使用Jedis工具来实现缓存更加灵活。但是如果你不懂Redis,那么使用SpringCache+Redis就可以了。
13.1 Redis配置文件读取配置
|
|
13.2 SpringCache配置类
|
|
13.3 Dao层使用注解将结果缓存
|
|
实现
|
|
10.4 测试
|
|
10.5 Redis数据库缓存结果
|
|
UserCaching~keys 是一个ZSet结构,是一个有序集合。
10.6 注解
注解 | 描述 |
---|---|
@Cacheable | 表明Spring在调用方法之前,首先应该在缓存中查找方法的返回值,如果这个值能够找到,就会返回缓存的值,否则的话,这个方法就会被调用,返回值会放到缓存之中。 |
@CachePut | 表明Spring应该将方法的返回值放到缓存中,在方法的调用前并不会检查缓存,方法始终都会被调用。 |
@CacheEvict | 表明Spring应该在缓存中清楚一个或多个条目 |
@Caching | 这事一个分组的注解,能够同时应用多个其他的缓存注解 |