用途
Catalyst Cache 是 Catalyst 平台中的内存键值存储(in-memory key-value store),用于存放临时会话数据(session data)和短期临时数据(temporary data)。它通过 TTL(生存时间)机制控制数据的有效期,适合不需要长期持久化的场景。
该技能(skill)用于指导开发者正确执行缓存段(cache segment)与缓存键(cache key)的读写操作,并规避若干容易出错的细节。
主要能力
- 缓存段与缓存键的管理:涉及 segment.get、segment.put、segment.delete、segment.update 等操作。
- TTL 控制:TTL 以小时为单位,最大为 48 小时。
- 字符串值存储:所有缓存值只能是字符串。
- 提供参考文档 references/cache-basics.md,涵盖 SDK 操作、TTL 上限、字符串值限制,以及 segment.delete() 与 segment.update() 的易错点。
使用方式
- 获取 Segment ID:如果可用,使用 MCP 工具 CatalystbyZoho_List_Cache_Segments;否则从控制台或 .catalystrc 中获取。
- 加载 references/cache-basics.md:了解 SDK 操作、TTL 限制(最大 48 小时)以及 segment.delete() / segment.update() 的注意事项。
- 值处理:所有缓存值都是字符串,写入(put)前必须 JSON.stringify,读取(get)后必须 JSON.parse。
- TTL 行为:TTL 单位为小时(最大 48),不是秒。
关键注意事项
- segment.update() 若在调用时不传过期(expiry)参数,会静默地把该键的 TTL 重置为 48 小时最大值(例如原本 1 小时的键会变成 48 小时的键)。
- segment.delete() 并不会删除键,而是把 cache_value 置为 null,键本身仍然存在;之后调用 getValue() 会返回 null,HTTP 状态码为 200,且不会抛出异常。
适用场景
- 会话数据(session data)
- 临时数据(temporary data)
- 需要 TTL 控制的短期缓存
- 判断“缓存 vs Data Store”的取舍
- 涉及 48 小时缓存上限的场景
触发条件
当查询涉及以下内容时使用本技能:"Cache"、"cache segment"、"cache key"、"cache value"、"TTL"、"in-memory store"、segment.get、segment.put、segment.delete、"session data"、"temporary data Catalyst"、"cache vs Data Store" 或 "48-hour cache"。
限制
- 缓存值仅支持字符串类型。
- TTL 最大为 48 小时。
- 关于收费、价格、平台支持范围等信息,资料中暂未提供。