首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Filemaker API是否实现了_find请求或portalData请求的缓存?

Filemaker API是否实现了_find请求或portalData请求的缓存?
EN

Stack Overflow用户
提问于 2019-05-29 00:53:09
回答 1查看 109关注 0票数 0

我正在重写一个使用Filemaker数据库的应用程序。过去,PHP脚本与Filemaker有一个PHP SDK连接。我正在将其转换为使用Filemaker 17 API。

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

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

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

我使用Symfony PHP框架。我试过清除Symfony缓存。

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

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

我已经搜索了FM17API文档,但是找不到任何相关的东西。

有FM实现的缓存吗?如果是这样,您如何禁用它?

我希望这个列表能通过FM17API立即更新。

-- 更新的 --

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

EN

回答 1

Stack Overflow用户

发布于 2019-05-29 09:35:43

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

当您的代码访问完托管数据库后,使用HTTP DELETE方法,其中的会话URL指定托管数据库的名称和会话的访问令牌。如果您的代码没有注销数据库会话,则当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的一部分,这将刷新布局上的门户。例如使用"Refresh Portal“脚本步骤。您看到的“缓存”行为可能只是布局没有针对该数据API会话进行更新,而布局需要更新。

通过在请求正文中包含script.prerequest、script.presort和脚本参数,可以将FileMaker脚本作为查找请求的一部分运行。

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

您还可以使用Person键直接在Events表上进行查找。

最后要注意的是,如果在某个地方有某种未提交的记录,来自API脚本调用而没有以提交结束,或者其他情况,那么数据可能还没有显示在门户中。

(使用最新信息编辑的备注答案)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56346889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档