AgentSkillsCN

azure-redis

借助 Azure Cache for Redis 实现高性能缓存与实时数据解决方案,用于会话状态管理、排行榜构建以及分布式缓存。

SKILL.md
--- frontmatter
name: azure-redis
description: Implement high-performance caching and real-time data solutions with Azure Cache for Redis for session state, leaderboards, and distributed caching

Azure Data Services

Services

ServiceUse WhenMCP ToolsCLI
Cosmos DBNoSQL documents, global distribution, vector searchazure__cosmosaz cosmosdb
SQL DatabaseRelational data, ACID transactions, complex joinsazure__sqlaz sql
Redis CacheCaching, sessions, real-time leaderboardsazure__redisaz redis
PostgreSQLOpen source relational, PostGISazure__postgresaz postgres
MySQLLAMP stack, WordPressazure__mysqlaz mysql

MCP Server (Preferred)

When Azure MCP is enabled, use these tools for data operations:

Cosmos DB

  • azure__cosmos with command cosmos_account_list - List Cosmos DB accounts
  • azure__cosmos with command cosmos_database_list - List databases in account
  • azure__cosmos with command cosmos_container_list - List containers

SQL Database

  • azure__sql with command sql_server_list - List SQL servers
  • azure__sql with command sql_database_list - List databases on server
  • azure__sql with command sql_firewall_list - List firewall rules

Redis

  • azure__redis with command redis_cache_list - List Redis caches

If Azure MCP is not enabled: Run /azure:setup or enable via /mcp.

CLI Fallback

bash
# Cosmos DB
az cosmosdb list --output table
az cosmosdb sql database list --account-name ACCOUNT -g RG

# SQL Database
az sql server list --output table
az sql db list --server SERVER -g RG

# Redis
az redis list --output table

Choosing the Right Database

If you need...Use
Global distribution, <10ms latencyCosmos DB
Complex SQL queries, ACID transactionsSQL Database
Caching layer, session stateRedis Cache
PostgreSQL compatibilityAzure PostgreSQL
MySQL compatibilityAzure MySQL

Azure Cache for Redis

Quick Reference

PropertyValue
CLI prefixaz redis
MCP toolsazure__redis (command: redis_cache_list)
Best forCaching, sessions, real-time data

Tiers

TierFeaturesUse Case
BasicSingle node, no SLADev/test
StandardReplicated, 99.9% SLAProduction
PremiumClustering, VNet, persistenceHigh scale
EnterpriseRedis modules, 99.99% SLAEnterprise features

Caching Patterns

Cache-Aside (Lazy Loading)

code
1. Check cache first
2. If miss, query database
3. Store result in cache
4. Return data

Write-Through

code
1. Write to cache
2. Cache writes to database
3. Ensures consistency

Write-Behind

code
1. Write to cache
2. Async write to database
3. Better performance, eventual consistency

Common Use Cases

Use CasePattern
Session stateString/Hash with TTL
Page cachingString with cache-aside
Rate limitingINCR with expiry
LeaderboardsSorted sets
Pub/subPub/sub channels
Distributed locksSET NX with expiry

Best Practices

  1. Set appropriate TTLs - Avoid stale data
  2. Use connection pooling - Reuse connections
  3. Enable clustering for scale-out
  4. Configure eviction policy (allkeys-lru recommended)
  5. Monitor memory usage - Avoid evictions

Common Operations

bash
# List Redis caches
az redis list --output table

# Get cache details
az redis show -n CACHE -g RG

# Get access keys
az redis list-keys -n CACHE -g RG

# Regenerate keys
az redis regenerate-keys -n CACHE -g RG --key-type Primary

Connection String Format

code
CACHE.redis.cache.windows.net:6380,password=KEY,ssl=True,abortConnect=False

Gotchas

  1. Connection limits - Pool connections, don't create per-request
  2. Serialization - Be consistent, consider MessagePack for performance
  3. Key naming - Use prefixes to avoid collisions
  4. Memory management - Monitor and configure maxmemory-policy