繁体   English   中英

PHP MySQL和Memcached

[英]php mysql and memcached

当与SQL查询一起使用时,我对memcached和PHP有点困惑。

实际上,我所遇到的每本指南都类似于以下内容:

$querykey = "KEY" . md5($query);
$result = $mem->get($querykey);

我不明白的是,为什么它们似乎都将实际查询的哈希版本存储为键?

给它起一个适当的名称不是更好,那样可以更轻松地引用脚本中的任何位置,并在需要时对其进行无效化?

喜欢本指南本指南

是的,您可以在memcached支持的键约束( 字符串等于或小于250个字节 )内,将所需的任何内容用作memcached中的键。

该键不一定与一个特定的SQL查询有任何关系。 可能根本不是来自数据库的东西。

一些应用程序将HTML的整个片段存储在memcached中,例如<div>可以用作网页中的下拉列表。 其内容可能包括整合到HTML片段中的多个SQL查询的结果。

关于使用特定SQL查询的哈希的建议可能只是教程中显示的示例。 就像将类命名为“ Foo”或“ MyClass”一样,您实际上不会在实际的应用程序中使用这些名称。

PS:您链接到的两个教程是如此相似,我怀疑2015年11月的一个教程是否借鉴了2014年5月的一个教程的内容。

我认为这是一个好问题。 First Point生成md5哈希是获取字符串的唯一键的最简单方法。 因此,您无需生成复杂的密钥。

但是通常,您可以使用所需的每个键并构建自己的结构。

https://secure.php.net/manual/de/memcached.getallkeys.php

这是一个很好的示例,说明如何获取和删除所有密钥。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM