> alicloud-redis
Manage Alibaba Cloud Redis (Tair / R-KVStore) using the @alicloud/r-kvstore20150101 TypeScript SDK. Use when working with Redis or Tair instances, accounts, backups, security (whitelist/SSL/TDE/audit), parameters, monitoring, cluster scaling, direct connection, Tair Custom instances, and resource tagging. Covers all 157 APIs of the R-KVStore 20150101 version.
curl "https://skillshub.wtf/agents-infrastructure/alicloud-agent-skills/alicloud-redis?format=md"Alibaba Cloud Redis (R-KVStore) Skill
Manage Redis and Tair instances via the @alicloud/r-kvstore20150101 TypeScript SDK.
Prerequisites
npm install @alicloud/r-kvstore20150101 @alicloud/openapi-core @darabonba/typescript
export ALIBABA_CLOUD_ACCESS_KEY_ID="<your-key-id>"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="<your-key-secret>"
See scripts/setup_client.ts for a reusable client factory, and references/quickstart.md for full setup including endpoints, instance types, architectures, Redis versions, pagination, and async polling.
Client Initialization
import Client from '@alicloud/r-kvstore20150101';
import { Config } from '@alicloud/openapi-core';
const client = new Client(new Config({
accessKeyId: process.env.ALIBABA_CLOUD_ACCESS_KEY_ID,
accessKeySecret: process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET,
endpoint: 'r-kvstore.aliyuncs.com',
regionId: 'cn-hangzhou',
}));
API Overview (157 APIs in 8 Domains)
| Domain | APIs | Key Operations | Reference |
|---|---|---|---|
| Instance Management | 82 | createInstance, describeInstances, modifyInstanceSpec | references/instance.md |
| Account Management | 7 | createAccount, grantAccountPrivilege, resetAccountPassword | references/account.md |
| Backup & Recovery | 11 | createBackup, describeBackups, modifyBackupPolicy, restoreInstance | references/backup.md |
| Security & Encryption | 23 | modifySecurityIps, modifyInstanceSSL, modifyInstanceTDE, modifyAuditLogConfig | references/security.md |
| Parameter Management | 11 | describeParameters, createParameterGroup, modifyInstanceParameter | references/parameter.md |
| Monitoring & Performance | 8 | describeHistoryMonitorValues, describeSlowLogRecords | references/monitoring.md |
| Tair Custom Instance | 12 | createTairKVCacheCustomInstance, describeTairKVCacheCustomInstances | references/tair-custom.md |
| Tag & Resource | 5 | tagResources, untagResources, listTagResources | references/tag-resource.md |
Core Patterns
RPC-Style with instanceId
Most APIs require instanceId as the primary identifier:
import * as models from '@alicloud/r-kvstore20150101/dist/models';
const { body } = await client.describeInstanceAttribute(
new models.DescribeInstanceAttributeRequest({
instanceId: 'r-bp1xxxxxxxxxxxxx',
})
);
Page-Based Pagination
let pageNumber = 1;
let all: any[] = [];
while (true) {
const { body } = await client.describeInstances(new models.DescribeInstancesRequest({
regionId: 'cn-hangzhou', pageSize: 50, pageNumber,
}));
all.push(...(body.instances?.KVStoreInstance || []));
if (all.length >= (body.totalCount || 0)) break;
pageNumber++;
}
Async Operation Polling
Many operations are async — poll instance status until target state:
while (true) {
const { body } = await client.describeInstanceAttribute(
new models.DescribeInstanceAttributeRequest({ instanceId })
);
const status = body.instances?.DBInstanceAttribute?.[0]?.instanceStatus;
if (status === 'Normal') break;
await new Promise(r => setTimeout(r, 5000));
}
Multi-Type Support
R-KVStore supports Redis Community and Tair (DRAM/Persistent Memory/ESSD):
// Redis Community
const { body: redis } = await client.createInstance(new models.CreateInstanceRequest({
regionId: 'cn-hangzhou', instanceType: 'Redis', engineVersion: '7.0',
instanceClass: 'redis.master.small.default', chargeType: 'PostPaid',
password: 'MyP@ssw0rd!', vpcId: 'vpc-xxx', vSwitchId: 'vsw-xxx',
}));
// Tair (Enhanced Redis)
const { body: tair } = await client.createTairInstance(new models.CreateTairInstanceRequest({
regionId: 'cn-hangzhou', instanceType: 'tair_rdb',
instanceClass: 'tair.rdb.2g', chargeType: 'PostPaid',
password: 'MyP@ssw0rd!', vpcId: 'vpc-xxx', vSwitchId: 'vsw-xxx',
}));
Config as JSON String
Instance configuration is passed as a JSON string:
await client.modifyInstanceConfig(new models.ModifyInstanceConfigRequest({
instanceId,
config: JSON.stringify({
'maxmemory-policy': 'allkeys-lru',
'timeout': '300',
}),
}));
Error Handling
try {
await client.createInstance(request);
} catch (err: any) {
console.error(`Code: ${err.code}, Message: ${err.message}, RequestId: ${err.data?.RequestId}`);
}
Common Workflows
1. Create Redis Instance with Account
createInstance → waitForNormal → createAccount → modifySecurityIps
2. Create Tair Cluster
createTairInstance → waitForNormal → describeClusterMemberInfo
3. Backup and Recovery
modifyBackupPolicy → createBackup → describeBackups → restoreInstance
4. Security Hardening
modifySecurityIps → modifyInstanceSSL → modifyInstanceTDE → modifyAuditLogConfig
5. Cluster Scaling
describeClusterMemberInfo → addShardingNode / deleteShardingNode
6. Direct Connection Mode
allocateDirectConnection → describeDBInstanceNetInfo → releaseDirectConnection
7. Parameter Tuning
describeParameterTemplates → createParameterGroup → modifyInstanceParameter
8. Performance Monitoring
describeMonitorItems → describeHistoryMonitorValues → describeSlowLogRecords → createCacheAnalysisTask
See references/workflows.md for detailed workflow examples with full code.
API Reference Quick Index
Load the corresponding reference file for parameter details:
- Instance CRUD/lifecycle/spec/network/cluster/proxy:
references/instance.md - Account CRUD/password/privileges:
references/account.md - Backup/restore/cache analysis:
references/backup.md - IP whitelist/SSL/TDE/audit/global whitelist:
references/security.md - Parameters/parameter groups/templates:
references/parameter.md - Performance monitoring/slow logs/running logs:
references/monitoring.md - TairKVCache custom instances:
references/tair-custom.md - Resource tagging:
references/tag-resource.md
Each reference file contains per-API documentation with method signatures and parameter tables.
Code Examples
See scripts/examples.ts for ready-to-use code covering:
- Instance listing, creation, and deletion
- Account management
- Backup creation and listing
- IP whitelist and SSL configuration
- Audit log management
- Performance monitoring and slow log analysis
- Parameter management
- Resource tagging
> related_skills --same-repo
> alicloud-vpc
Manage Alibaba Cloud VPC networking using the @alicloud/vpc20160428 TypeScript SDK. Use when working with virtual private clouds, VSwitches, route tables, EIPs, NAT gateways, VPN gateways, Express Connect, BGP routing, network ACLs, flow logs, traffic mirroring, IPv6, HAVIP, gateway endpoints, and resource tagging. Covers all 396 APIs of the VPC 20160428 version.
> alicloud-rds
Manage Alibaba Cloud RDS using the @alicloud/rds20140815 TypeScript SDK. Use when working with relational database instances (MySQL, PostgreSQL, SQL Server, MariaDB), accounts, databases, backups, security, monitoring, parameters, read-only instances, database proxy, migration, cross-region DR, PostgreSQL extensions, RDS Custom instances, and resource tagging. Covers all 398 APIs of the RDS 20140815 version.
> alicloud-ram
alicloud-ram skill from agents-infrastructure/alicloud-agent-skills
> alicloud-oss
alicloud-oss skill from agents-infrastructure/alicloud-agent-skills