- <cache-ref> 用于引用其他命名空间中定义的缓存。通过使用 <cache-ref> 元素,可以在多个命名空间之间共享缓存配置和实例,从而提高应用程序的性能和可扩展性
- 在一个映射文件中,可以嵌套使用多个 <cache-ref> 元素,这样可以实现多个不同的映射文件共享同一级别的缓存。
- cache-ref> 元素必须指定包含被引用缓存配置的映射文件的命名空间。这个命名空间可以是一个映射文件的命名空间,也可以是一个类的全限定名。
属性 |
说明 |
namespace |
用于指定被引用的命名空间的名称 |
- 可以使用一个类的全限定名作为<cache-ref>元素的namespace属性
示例
<cache type="com.example.cache.UserCache"/>
<!-- 在 target-mapper.xml 文件中引用上面的缓存配置 -->
<cache-ref namespace="com.example.cache.UserCache"/>
- 可以使用映射文件的命名空间作为<cache-ref>元素的namespace属性
示例
<cache-ref namespace="com.example.mapper.UserMapper"/>
注
- <cache-ref> 元素的生效范围仅限于当前映射文件及其直接引用的所有映射文件。如果需要在多个映射文件之间共享缓存配置,则需在每个映射文件中都定义相同的cache-ref> 元素。
- <cache-ref> 元素仅仅提供了对被引用缓存配置的引用,具体的缓存策略仍然需要在被引用的缓存配置所处的映射文件中定义。在引用该缓存配置时,如果在当前映射文件中也定义了同名的缓存配置,则被引用的缓存配置将被忽略,当前映射文件中定义的同名缓存配置将优先使用。