Install
$ agentstack add skill-awesome-ai-dev-awesome-ai-dev-cache ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
缓存策略
Redis
基础操作
import Redis from 'ioredis';
const redis = new Redis();
// 字符串
await redis.set('key', 'value');
const value = await redis.get('key');
// 哈希
await redis.hset('user:1', 'name', 'John');
const user = await redis.hgetall('user:1');
// 列表
await redis.rpush('queue', 'item1');
const item = await redis.lpop('queue');
// 过期
await redis.setex('token', 3600, 'abc'); // 1小时过期
缓存模式
// Cache-Aside
async function getUser(id: string) {
const cacheKey = `user:${id}`;
const cached = await redis.get(cacheKey);
if (cached) return JSON.parse(cached);
const user = await db.user.findById(id);
await redis.setex(cacheKey, 3600, JSON.stringify(user));
return user;
}
// Write-Through
async function updateUser(id: string, data: User) {
await db.user.update(id, data);
await redis.setex(`user:${id}`, 3600, JSON.stringify(data));
}
缓存策略详解
| 策略 | 适用场景 | | --- | --- | | Cache-Aside | 读多写少 | | Write-Through | 数据一致性要求高 | | Write-Behind | 写入性能要求高 | | TTL | 过期数据 |
分布式锁
async function withLock(key: string, fn: () => Promise) {
const lock = await redis.set(key, '1', 'EX', 10, 'NX');
if (!lock) throw new Error('Lock failed');
try {
return await fn();
} finally {
await redis.del(key);
}
}
最佳实践
- 合理设置 TTL
- 缓存穿透防护
- 缓存雪崩处理
- 热点数据预热
参考
.cursor/rules/nestjs.mdc
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: awesome-ai-dev
- Source: awesome-ai-dev/awesome-ai-dev
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.