AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Backend Cache

skill-awesome-ai-dev-awesome-ai-dev-cache · by awesome-ai-dev

缓存策略 - Redis/Memcached/本地缓存

No reviews yet
0 installs
15 views
0.0% view→install

Install

$ agentstack add skill-awesome-ai-dev-awesome-ai-dev-cache

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No 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.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-awesome-ai-dev-awesome-ai-dev-cache)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
4mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

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 →
Are you the author of Backend Cache? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

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);
  }
}

最佳实践

  1. 合理设置 TTL
  2. 缓存穿透防护
  3. 缓存雪崩处理
  4. 热点数据预热

参考

  • .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.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.