【问题标题】:Does the Filemaker API implement caching for _find requests or portalData requests?Filemaker API 是否为 _find 请求或 portalData 请求实现缓存?
【发布时间】:2019-05-28 16:53:08
【问题描述】:

我正在重写一个使用 Filemaker 数据库的应用程序。从历史上看,PHP 脚本通过 PHP SDK 连接到 Filemaker。我正在将其转换为使用 Filemaker 17 API。

在开发过程中,我正在创建一个新记录,然后显示一个记录列表。创建新记录后,旧系统(使用 PHP SDK)将立即显示更新的列表。我正在开发的新系统不会。

几分钟后,新系统(使用 Filemaker 17 API)将显示正确的列表。似乎需要 5-10 分钟。

所有这一切都是通过使用门户来实现的。

我正在使用 Symfony PHP 框架。我已经尝试清除 Symfony 缓存。

我还尝试将 UNIX 时间戳附加到 API 调用的 _find URL。它仍然返回给我一个列表,但它是一个陈旧的列表。

我也在使用'cache-control: no-cache' cURL 选项。

我浏览了 FM 17 API 文档,但找不到任何相关内容。

有没有 FM API 实现的缓存?如果是这样,你如何禁用它?

我希望该列表能够通过 FM 17 API 立即更新。

-- 更新--

如果我手动更新包含门户数据的记录,从 API 返回的列表会立即生效。是否缓存了门户数据?

【问题讨论】:

    标签: php curl filemaker


    【解决方案1】:

    为确保有新数据,您可以关闭 API 会话并启动新会话。

    当您的代码完成访问托管数据库后,使用 HTTP 使用会话 URL 指定托管名称的 DELETE 方法 数据库和会话的访问令牌。如果您的代码没有 注销数据库会话,访问令牌变为无效时 FileMaker Data API 会话在最后一次后 15 分钟超时 指定令牌的调用。

    https://fmhelp.filemaker.com/docs/17/en/dataapi/index.html#write-fm-data-api-calls_connect-database_log-out

    或者作为查找的一部分,您可以在 script.pre-request 中运行一个脚本作为 _find 的一部分,该脚本将刷新布局上的门户。例如。使用“刷新门户”脚本步骤。您看到的“缓存”行为可能只是该数据 API 会话的布局没有更新,并且布局需要更新。

    您可以通过包含 script.prerequest、script.presort 和 script 中的参数 请求正文。

    https://fmhelp.filemaker.com/docs/17/en/dataapi/index.html#perform-a-find-request

    您也可以使用您的个人密钥直接在事件表上进行查找。

    最后一点,如果某处存在某种未提交的记录,来自未完成提交的 API 脚本调用,或其他情况,则数据可能尚未显示在门户中。

    (使用新鲜信息编辑的注释答案)

    【讨论】:

    • 恕我直言,我不认为是这样。首先,数据 API 只用了 10 分钟就返回了我的结果。我只是计时。其次,每次我刷新我的应用程序时,它都会调用数据库并重用令牌。所以花了 10 分钟的时间,但我的令牌一直在使用,因此将时钟重置为 15 分钟的令牌有效期。第三,无论我是通过数据API删除记录还是通过Web界面手动删除,数据API都需要10分钟才能提供正确的门户数据,旧的PHP SDK会立即获取新记录。
    • 我不太确定。在过去的 9 个月里,我一直在使用数据 API。当我使用fmhelp.filemaker.com/docs/17/en/dataapi/…fmhelp.filemaker.com/docs/17/en/dataapi/…的方法时,新记录和更新记录已经立即提交。
    • 另外,你所描述的与我所说的不符。给定一个布局“Person”,带有一个到布局“Events”的入口:如果我通过数据 API 更新事件表,则 Person 记录(以及它的事件的门户数据)会立即反映在对 Person 记录的调用中PHP SDK。直到 10 分钟过去,或者直到对个人记录本身进行了更改,它才会反映在通过数据 API 对个人记录的调用中。
    • 最后一点,community.filemaker.com 确实是获得 FileMaker 答案的最佳场所。我喜欢堆栈溢出,但文件制作者社区在那里蓬勃发展,而不是在这里。
    • 好的,谢谢!我对 FM 比较陌生。我将开始在那里发帖,或者交叉发帖到那个论坛。干杯!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 2023-03-17
    • 2015-01-24
    • 2021-01-15
    • 1970-01-01
    • 2017-11-22
    • 2017-09-07
    相关资源
    最近更新 更多