xQuery应用程序范围变量?

xQuery应用程序范围变量?,xquery,marklogic,Xquery,Marklogic,是否有方法在应用程序范围中声明变量。这个变量应该留在内存中,为所有请求提供服务,而不需要为每个请求创建它。类似于会话,但它与特定用户无关 我要找的是类似于php APC缓存的东西。因为这被标记为“marklogic”,我将提供marklogic非标准答案。 基于标准的答案是“否”或“问题超出范围”,因为XQuery没有定义“应用程序范围”(超出顶层模块语句的执行范围——在某些上下文中可以称为“应用程序范围”) 在MarkLogic中,有一个受支持的功能叫做“会话”; 用于响应通常称为“会话”的w

是否有方法在应用程序范围中声明变量。这个变量应该留在内存中,为所有请求提供服务,而不需要为每个请求创建它。类似于会话,但它与特定用户无关

我要找的是类似于php APC缓存的东西。

因为这被标记为“marklogic”,我将提供marklogic非标准答案。 基于标准的答案是“否”或“问题超出范围”,因为XQuery没有定义“应用程序范围”(超出顶层模块语句的执行范围——在某些上下文中可以称为“应用程序范围”)

在MarkLogic中,有一个受支持的功能叫做“会话”; 用于响应通常称为“会话”的web应用程序

会话是通过第一次调用xdmp:login()创建的(通过使用支持的身份验证在HTTP服务器中运行显式或隐式)。 会话“状态”是在第一次写入会话字段时创建的(显式通过xdmp:set Session field创建,或在某些情况下隐式创建(*))

会话字段是名称(xs:string)到项()的映射* 它们持续的时间与会话持续的时间一样长(请参见上面链接中关于过期的注释)

请注意,跨多个HTTP请求的会话要求客户端通过正确的HTTP Cookie处理参与(在套接字关闭后,ML server除了通过HTTP Cookie机制之外,没有能力也没有尝试跟踪请求。)

如果您使用的是现代浏览器,则不需要禁用Cookie。 如果您使用的是现代Web客户机库,那么这可能会为您完成。 如果您使用的是MarkLogics发布的SDK(java、node、xcc),那么它将为您完成。 如果你正在经历一个负载平衡器,三级路由器,网关,代理。。。可能需要为“HTTP会话关联性”(基于cookies)配置它们,以确保cookies在未更改的情况下通过,并且SessionID cookie映射到HTTP关联性。(**)

注意:IT设备在功能和术语上差异很大。 通常称为“会话关联性”的内容可能与cookie无关,或者 正确的饼干。这些通常可以配置为正常工作,但可能 需要自定义代码或配置

(*)会话状态在某些情况下可以通过创建多语句事务隐式创建。 (**)

由于这是标记为“marklogic”,我将提供marklogic非标准答案。 基于标准的答案是“否”或“问题超出范围”,因为XQuery没有定义“应用程序范围”(超出顶层模块语句的执行范围——在某些上下文中可以称为“应用程序范围”)

在MarkLogic中,有一个受支持的功能叫做“会话”; 用于响应通常称为“会话”的web应用程序

会话是通过第一次调用xdmp:login()创建的(通过使用支持的身份验证在HTTP服务器中运行显式或隐式)。 会话“状态”是在第一次写入会话字段时创建的(显式通过xdmp:set Session field创建,或在某些情况下隐式创建(*))

会话字段是名称(xs:string)到项()的映射* 它们持续的时间与会话持续的时间一样长(请参见上面链接中关于过期的注释)

请注意,跨多个HTTP请求的会话要求客户端通过正确的HTTP Cookie处理参与(在套接字关闭后,ML server除了通过HTTP Cookie机制之外,没有能力也没有尝试跟踪请求。)

如果您使用的是现代浏览器,则不需要禁用Cookie。 如果您使用的是现代Web客户机库,那么这可能会为您完成。 如果您使用的是MarkLogics发布的SDK(java、node、xcc),那么它将为您完成。 如果你正在经历一个负载平衡器,三级路由器,网关,代理。。。可能需要为“HTTP会话关联性”(基于cookies)配置它们,以确保cookies在未更改的情况下通过,并且SessionID cookie映射到HTTP关联性。(**)

注意:IT设备在功能和术语上差异很大。 通常称为“会话关联性”的内容可能与cookie无关,或者 正确的饼干。这些通常可以配置为正常工作,但可能 需要自定义代码或配置

(*)会话状态在某些情况下可以通过创建多语句事务隐式创建。 (**)
会话字段提供了一种可能性;另一种可能是服务器字段:


服务器字段可用于主机上appserver的所有请求。

会话字段提供了一种可能性;另一种可能是服务器字段:


服务器字段可用于主机上appserver的所有请求。

Hi@DALDEI,感谢您提供的信息性回答。实际上,在网络管理中使用cookies和映射操作的部分是有用的。不过,我想找一些更简单的建议,比如ehennum建议。嗨@DALDEI,谢谢你提供的信息丰富的答案。实际上,在网络管理中使用cookies和映射操作的部分是有用的。不过,我想找一些更简单的建议,比如ehennum建议。嗨@ehennum,谢谢你的建议。事实上,这就是我想要的。嗨@ehennum,谢谢你的建议。事实上,这就是我要找的。