6.11. JDBC 字符串的缓存存储
				JDBC String 型缓存存储 JdbcStringBasedStore,使用 JDBC 驱动程序在底层数据库中加载和存储值。
			
JDBC String-Based 缓存存储:
- 将每个条目存储在表中,以提高并发负载吞吐量。
- 
						使用一个简单的一对一映射,使用键到 字符串接口将每个键映射到String对象。
 数据网格提供了一个处理原语类型的默认实施DefaultTwoWayKey2StringMapper。
				除了用于存储缓存条目的数据表外,存储还会创建一个 _META 表来存储元数据。此表用于确保任何现有数据库内容与当前数据网格版本和配置兼容。
			
默认情况下,Data Grid 共享不存储,这意味着集群中的所有节点都写入每个更新上的底层存储。如果只想操作对底层数据库进行写入,则必须将 JDBC 存储配置为共享。
分段
					JdbcStringBasedStore 默认使用分段,它需要一个数据库表中的列来代表条目属于的片段。
				
6.11.1. 配置基于字符串的 JDBC 缓存存储
使用 JDBC 字符串的缓存配置可连接到数据库的数据网格缓存。
先决条件
- 
							远程缓存:将数据库驱动程序复制到 Data Grid 服务器安装的 server/lib目录中。
- 嵌入式缓存:将 - infinispan-cachestore-jdbc依赖项添加到您的- pom文件。- <dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-cachestore-jdbc</artifactId> </dependency> - <dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-cachestore-jdbc</artifactId> </dependency>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
流程
- 使用以下方法之一创建基于 JDBC 字符串的缓存存储配置: - 声明性,添加 - 持久性元素或字段,然后添加带有以下架构命名空间的- string-keyed-jdbc-store:- xmlns="urn:infinispan:config:store:jdbc:13.0" - xmlns="urn:infinispan:config:store:jdbc:13.0"- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 以编程方式,将以下方法添加到 - ConfigurationBuilder中:- persistence().addStore(JdbcStringBasedStoreConfigurationBuilder.class) - persistence().addStore(JdbcStringBasedStoreConfigurationBuilder.class)- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 
							使用 dialect属性或dialect ()方法指定数据库的 dialect。
- 根据情况配置 JDBC 字符串的缓存存储的任何属性。 - 例如,指定缓存存储是否与带有 shared 属性或 - shared()
- 添加 JDBC 连接工厂,使数据网格能够连接到数据库。
- 添加存储缓存条目的数据库表。
JDBC 字符串的缓存存储配置
XML
JSON
YAML
ConfigurationBuilder