naisi_file_cache_write

查看 Markdown

使用原子临时文件替换方式写入 DATA 或 RAW 文件缓存。

函数签名

function naisi_file_cache_write(string $cache_path, mixed $data, int $ttl = 0, int $type = NAISI_FILE_CACHE_DATA): bool

调用前提

应用入口先调用 naisi_is_ext_license_valid 并确认返回 true。只验证同一请求内已有的有效 FULL/BASIC 证明;没有证明或证明失效时立即返回失败值,不现场补做完整校验。

授权类别:LICENSE;执行模式:PROOF。许可不代替登录、租户或权限上下文;身份与数据要求见本页参数及用途说明。

参数

$cache_path

  • 类型:string
  • 必填:是
  • 默认值:无
  • 方向:输入参数。

由 naisi_file_cache_path() 生成的完整缓存路径;拒绝其他路径格式。

$data

  • 类型:mixed
  • 必填:是
  • 默认值:无
  • 方向:输入参数。

DATA 支持 null、布尔、整数、浮点、二进制字符串、list 和关联数组;RAW 只接受字符串。

$ttl

  • 类型:int
  • 必填:否
  • 默认值:0
  • 方向:输入参数。

DATA 缓存有效秒数;0 表示永不过期,负数非法。RAW 只允许 0。

$type

  • 类型:int
  • 必填:否
  • 默认值:NAISI_FILE_CACHE_DATA
  • 方向:输入参数。

NAISI_FILE_CACHE_DATA 或 NAISI_FILE_CACHE_RAW;默认写入带完整性校验和轻量二进制扰码的 DATA。

返回值

类型:bool

同一请求已建立许可路径策略,且目录创建、完整写入、刷新和原子替换全部成功时返回 true;类型、TTL、路径、授权、序列化或文件操作失败时返回 false。

关联常量

  • NAISI_FILE_CACHE_DATA = 0 — 普通数据文件缓存类型。 写入 Naisi 序列化数据、固定 Header、CRC32 和轻量二进制扰码;读取时自动校验并反序列化。
  • NAISI_FILE_CACHE_RAW = 1 — 原始文件缓存类型。 只接受字符串和零 TTL,按原始字节写入,不增加 Header、序列化、CRC 或扰码。

调用示例

当前请求须满足上方调用前提;请检查实际返回值和引用输出,随机结果及数据包内容以运行环境为准。

$cache_path = 'C:/WINDOWS/TEMP/naisi_fun_test/4O/LX0Y4LfjeiUGz9tL9j1S.dat';
$data = 'Hello Naisi';
$ttl = 0;
$type = 0;

$result = naisi_file_cache_write($cache_path, $data, $ttl, $type);
var_dump($result);

版本信息

  • 自版本:1.0.6
  • 实现模块:file_cache
  • 授权类别:LICENSE / PROOF
  • 失败回退:false
  • 文档同步:2026-10-18