Overview
TheDataMember class handles database operations using Cloudflare’s data storage services: D1 (SQL), KV (key-value), and Durable Objects (stateful objects).
Constructor
Data member configuration (extends MemberOptions)
Member name
D1 Database Operations
Query
Execute SELECT queries:Execute
Run INSERT, UPDATE, DELETE:Batch Operations
Execute multiple statements:Transactions
Execute statements atomically:Prepared Statements
Reuse compiled queries:KV Operations
Get
Read key-value pairs:Put
Write key-value pairs:Delete
Remove keys:List
List keys with prefix:Get with Metadata
Durable Objects
Get Stub
Get a Durable Object instance:Fetch
Call Durable Object:Advanced Patterns
Connection Pooling
Reuse database connections:Query Builder
Build queries dynamically:Pagination
Handle large result sets:Caching Strategies
Write-Through
Cache-Aside
Error Handling
Constraint Violations
Transaction Rollback
Performance Optimization
Indexing
Query Optimization
Batch Reads
Testing
Best Practices
- Use prepared statements - Better performance
- Index frequently queried columns - Speed up lookups
- Batch operations - Reduce round trips
- Use transactions - Ensure data consistency
- Set appropriate TTLs - For KV caching
- Handle constraint errors - Graceful failures
- Optimize queries - Use EXPLAIN
- Paginate large results - Prevent timeouts
- Cache intelligently - Balance freshness vs performance
- Monitor query performance - Identify slow queries

