3

我看到会话处理提到了一个%mdat以及%udat哈希。有什么区别,何时以及为什么要使用%mdat哈希?

4

1 回答 1

3

Embperl POD中所述,

您可以将任何数据存储在%mdat散列中,如果任何请求来自同一个 Embperl 文档,您将再次在该散列中看到相同的值。

另外,请注意,上面 POD 中的“您将看到”的措辞有些误导​​,这可能导致您感到困惑。

主要的Embperl 文档提供了一个更精确的答案来消除混淆:

下一次任何用户点击相同的 Embperl 页面时,Emperl 会使用与您在对该页面的上一次请求中存储的相同值填充%mdat哈希值。Apache::Session

请注意我以粗体突出显示的文本 -任何用户。典型的会话数据(存储在 中%udat)仅为特定用户存储和访问。

因此,%mdat它充当一种每个单独的embperl页面但与用户无关的数据存储。

为了回答您的“何时”问题,在实践中使用的一个示例是%mdat每页访问计数器。

于 2011-01-10T21:16:39.370 回答