| name | evernote-performance-tuning |
| description | Optimize Evernote integration performance.
Use when improving response times, reducing API calls,
or scaling Evernote integrations.
Trigger with phrases like "evernote performance", "optimize evernote",
"evernote speed", "evernote caching".
|
| allowed-tools | Read, Write, Edit, Grep |
| version | 1.13.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","evernote","api","performance","scaling"] |
| compatibility | Designed for Claude Code, also compatible with Codex and OpenClaw |
Evernote Performance Tuning
Overview
Optimize Evernote API integration performance through response caching, efficient data retrieval, request batching, connection management, and performance monitoring.
Prerequisites
- Working Evernote integration
- Understanding of API rate limits
- Caching infrastructure (Redis recommended, in-memory for simpler setups)
Instructions
Step 1: Response Caching
Cache frequently accessed data (notebook lists, tag lists, note metadata) with TTL-based expiration. Notebook and tag lists change rarely -- cache for 5-15 minutes. Note metadata can be cached for 1-5 minutes.
class EvernoteCache {
constructor(redis) {
this.redis = redis;
}
async getOrFetch(key, fetcher, ttlSeconds = 300) {
const cached = await this.redis.get(key);
if (cached) return JSON.parse(cached);
const data = await fetcher();
await this.redis.setex(key, ttlSeconds, JSON.stringify(data));
return data;
}
async listNotebooks(noteStore) {
return this.getOrFetch('notebooks', () => noteStore.(), );
}
() {
.(, noteStore.(), );
}
}