Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

TryDaxTests.java

Fokusmodus
TryDaxTests.java - Amazon-DynamoDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die TryDaxTests.java-Datei enthält Methoden, die Leseoperationen über eine Testtabelle in Amazon DynamoDB durchführen. Diese Methoden berücksichtigen nicht, wie sie auf die Daten zugreifen (entweder mithilfe des DynamoDB-Clients oder des DAX-Clients). Daher ist es nicht erforderlich, die Anwendungslogik zu ändern.

Sie können das Programm auf verschiedene Arten ändern.

  • Ändern Sie die queryTest-Methode, damit sie einen anderen KeyConditionExpression verwendet.

  • Fügen Sie der scanTest-Methode einen ScanFilter hinzu, damit nur einige der Elemente an Sie zurückgegeben werden.

Anmerkung

Um dieses Programm auszuführen, können Sie Maven so einrichten, dass es den Client für das DAX-SDK SDK for Java und die AWS SDK for Java AS-Abhängigkeiten verwendet. Weitere Informationen finden Sie unter Verwenden eines Clients als Apache Maven-Abhängigkeit.

Oder Sie können sowohl den DAX-Java-Client als auch den herunterladen und AWS SDK for Java in Ihren Klassenpfad aufnehmen. Unter Java und DAX finden Sie ein Beispiel für die Einrichtung Ihrer CLASSPATH-Variablen.

import java.util.Iterator; import com.amazonaws.services.dynamodbv2.document.DynamoDB; import com.amazonaws.services.dynamodbv2.document.Item; import com.amazonaws.services.dynamodbv2.document.ItemCollection; import com.amazonaws.services.dynamodbv2.document.QueryOutcome; import com.amazonaws.services.dynamodbv2.document.ScanOutcome; import com.amazonaws.services.dynamodbv2.document.Table; import com.amazonaws.services.dynamodbv2.document.spec.QuerySpec; public class TryDaxTests { void getItemTest(String tableName, DynamoDB client, int pk, int sk, int iterations) { long startTime, endTime; System.out.println("GetItem test - partition key " + pk + " and sort keys 1-" + sk); Table table = client.getTable(tableName); for (int i = 0; i < iterations; i++) { startTime = System.nanoTime(); try { for (Integer ipk = 1; ipk <= pk; ipk++) { for (Integer isk = 1; isk <= sk; isk++) { table.getItem("pk", ipk, "sk", isk); } } } catch (Exception e) { System.err.println("Unable to get item:"); e.printStackTrace(); } endTime = System.nanoTime(); printTime(startTime, endTime, pk * sk); } } void queryTest(String tableName, DynamoDB client, int pk, int sk1, int sk2, int iterations) { long startTime, endTime; System.out.println("Query test - partition key " + pk + " and sort keys between " + sk1 + " and " + sk2); Table table = client.getTable(tableName); HashMap<String, Object> valueMap = new HashMap<String, Object>(); valueMap.put(":pkval", pk); valueMap.put(":skval1", sk1); valueMap.put(":skval2", sk2); QuerySpec spec = new QuerySpec() .withKeyConditionExpression("pk = :pkval and sk between :skval1 and :skval2") .withValueMap(valueMap); for (int i = 0; i < iterations; i++) { startTime = System.nanoTime(); ItemCollection<QueryOutcome> items = table.query(spec); try { Iterator<Item> iter = items.iterator(); while (iter.hasNext()) { iter.next(); } } catch (Exception e) { System.err.println("Unable to query table:"); e.printStackTrace(); } endTime = System.nanoTime(); printTime(startTime, endTime, iterations); } } void scanTest(String tableName, DynamoDB client, int iterations) { long startTime, endTime; System.out.println("Scan test - all items in the table"); Table table = client.getTable(tableName); for (int i = 0; i < iterations; i++) { startTime = System.nanoTime(); ItemCollection<ScanOutcome> items = table.scan(); try { Iterator<Item> iter = items.iterator(); while (iter.hasNext()) { iter.next(); } } catch (Exception e) { System.err.println("Unable to scan table:"); e.printStackTrace(); } endTime = System.nanoTime(); printTime(startTime, endTime, iterations); } } public void printTime(long startTime, long endTime, int iterations) { System.out.format("\tTotal time: %.3f ms - ", (endTime - startTime) / (1000000.0)); System.out.format("Avg time: %.3f ms\n", (endTime - startTime) / (iterations * 1000000.0)); } }
DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.