TryDax.java
TryDax.java
文件包含 main
方法。如果在没有命令行参数的情况下运行程序,将创建一个 Amazon DynamoDB 客户端,并将该客户端用于所有 API 操作。如果在命令行中指定一个 DynamoDB Accelerator (DAX) 集群端点,程序还将创建一个 DAX 客户端,并用于 GetItem
、Query
和 Scan
操作。
可以通过多种方式修改程序:
-
使用 DAX 客户端而不是 DynamoDB 客户端。有关更多信息,请参阅 Java 和 DAX。
-
为测试表选择其他名称。
-
通过更改
helper.writeData
参数修改写入的项目数。第二个参数是分区键数,第三个参数是排序键数。默认情况下,程序使用 1–10 作为分区键值,使用 1–10 作为排序键值,总共向表写入 100 个项目。有关更多信息,请参阅 TryDaxHelper.java。 -
修改
GetItem
、Query
和Scan
测试的数量及其参数。 -
注释掉包含
helper.createTable
和helper.deleteTable
的行(如果不希望每次运行程序时都创建和删除表)。
注意
要运行此程序,您可以设置 Maven 将 DAX SDK for Java 客户端和 Amazon SDK for Java 作为依赖项。有关更多信息,请参阅 使用客户端作为 Apache Maven 依赖项。
或者可以下载 DAX Java 客户端和 Amazon SDK for Java 并加入类路径。有关设置 Java 和 DAX 变量的示例,请参阅 CLASSPATH
。
public class TryDax { public static void main(String[] args) throws Exception { TryDaxHelper helper = new TryDaxHelper(); TryDaxTests tests = new TryDaxTests(); DynamoDB ddbClient = helper.getDynamoDBClient(); DynamoDB daxClient = null; if (args.length >= 1) { daxClient = helper.getDaxClient(args[0]); } String tableName = "TryDaxTable"; System.out.println("Creating table..."); helper.createTable(tableName, ddbClient); System.out.println("Populating table..."); helper.writeData(tableName, ddbClient, 10, 10); DynamoDB testClient = null; if (daxClient != null) { testClient = daxClient; } else { testClient = ddbClient; } System.out.println("Running GetItem, Scan, and Query tests..."); System.out.println("First iteration of each test will result in cache misses"); System.out.println("Next iterations are cache hits\n"); // GetItem tests.getItemTest(tableName, testClient, 1, 10, 5); // Query tests.queryTest(tableName, testClient, 5, 2, 9, 5); // Scan tests.scanTest(tableName, testClient, 5); helper.deleteTable(tableName, ddbClient); } }