# Caching Dotnet

> Thiết lập Jarvis.Caching — memory + Redis distributed cache, invalidation pub/sub, cache-aside GetOrSetAsync. Dùng khi tích hợp cache .NET, section Cache, hoặc cache connection string cho EF.

- **Type:** Skill
- **Install:** `agentstack add skill-hoangnh2412-ai-skills-caching-dotnet`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [hoangnh2412](https://agentstack.voostack.com/s/hoangnh2412)
- **Installs:** 0
- **Category:** [Databases](https://agentstack.voostack.com/c/databases)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [hoangnh2412](https://github.com/hoangnh2412)
- **Source:** https://github.com/hoangnh2412/ai-skills/tree/main/jarvis/skills/caching-dotnet

## Install

```sh
agentstack add skill-hoangnh2412-ai-skills-caching-dotnet
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Jarvis.Caching — Orchestrator

Skill điều phối `Jarvis.Caching` + `Jarvis.Caching.Redis` trên ASP.NET Core.

Kiến trúc & vận hành: [README.md](README.md).

## Khi nào dùng workflow nào

| Tình huống | Workflow |
|---|---|
| Project chưa có Jarvis cache | [workflows/init.md](workflows/init.md) |
| Đã có memory, cần Redis / invalidation / OTEL | [workflows/add.md](workflows/add.md) |

## Quy tắc cốt lõi

- `AddJarvisCaching()` bind section `Cache`, đăng ký `ICacheService` + memory.
- **Memory luôn tầng đầu**; Redis khi `DistributedSeconds > 0` trên item.
- Cache-aside: `GetOrSetAsync(param, query, ct)` — ưu tiên hơn `GetAsync` overload cũ.
- `null` từ loader → không ghi cache.
- Sau write DB/blob: `RemoveAsync(param)` — memory + Redis + pub/sub peers.
- **Trước EF:** `AddJarvisCaching()` → `AddEntityFramework()` (`CachingTenantConnectionStringResolver`).

## Packages

| PackageId | Version* | Khi nào |
|---|---|---|
| `Jarvis.Caching` | 1.1.0 | Bắt buộc |
| `Jarvis.Caching.Redis` | 1.1.0 | Redis distributed + invalidation |

\*Xem csproj repo Jarvis.

## Providers (atomic)

| Provider | Path |
|---|---|
| Redis distributed | [providers/redis-distributed/SKILL.md](providers/redis-distributed/SKILL.md) |
| Memory invalidation pub/sub | [providers/redis-invalidation/SKILL.md](providers/redis-invalidation/SKILL.md) |
| OpenTelemetry Redis trace | [providers/otel-redis/SKILL.md](providers/otel-redis/SKILL.md) |

## Templates

- [templates/program-setup.cs](templates/program-setup.cs)
- [templates/appsettings-cache.json](templates/appsettings-cache.json)

## Tham chiếu

- Ví dụ `GetOrSetAsync`: [reference/get-or-set.md](reference/get-or-set.md)

## Output bắt buộc

- `Program.cs` / `InfrastructureLayerExtension` — `AddJarvisCaching` (+ Redis extensions nếu dùng)
- `appsettings.json` section `Cache`
- Item `ConnectionString` nếu dùng cùng EF
- Validate: hit/miss, `RemoveAsync` sau update

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [hoangnh2412](https://github.com/hoangnh2412)
- **Source:** [hoangnh2412/ai-skills](https://github.com/hoangnh2412/ai-skills)
- **License:** MIT

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

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-hoangnh2412-ai-skills-caching-dotnet
- Seller: https://agentstack.voostack.com/s/hoangnh2412
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
