Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php memcached是否都与时间有关?_Php_Caching_Memcached - Fatal编程技术网

Php memcached是否都与时间有关?

Php memcached是否都与时间有关?,php,caching,memcached,Php,Caching,Memcached,我认为用mamcached缓存东西的标准方法是将对象插入缓存一段时间,例如 memcli:set(key, rows_array, 5 * 60) 有没有更好的缓存方法,缓存将检查数据库内部的数据是否已更改,而不是依赖可能导致同步问题的计时器 我将使用PHP。缓存肯定不会检查数据库。你必须自己做。您知道数据库中的表如何相互关联,以及需要从哪些表中提取信息以呈现页面。这样做(如果您对mamcached所说的内容感到满意,请不要这样做)。缓存不会检查数据库,因为这与缓存的概念相反。 相反,您可以

我认为用mamcached缓存东西的标准方法是将对象插入缓存一段时间,例如

 memcli:set(key, rows_array, 5 * 60)
有没有更好的缓存方法,缓存将检查数据库内部的数据是否已更改,而不是依赖可能导致同步问题的计时器


我将使用PHP。

缓存肯定不会检查数据库。你必须自己做。您知道数据库中的表如何相互关联,以及需要从哪些表中提取信息以呈现页面。这样做(如果您对mamcached所说的内容感到满意,请不要这样做)。

缓存不会检查数据库,因为这与缓存的概念相反。
相反,您可以在更改对象在数据库中的值时更新对象或从缓存中删除对象

难道没有更好的缓存方法吗 缓存将检查的内容 在数据库内部查看数据 已经改变,而不是依赖 可能导致同步问题的计时器

该计时器不是因为检查数据库,而是为了释放内存(从缓存中逐出数据)

发件人:

Memcache通常与 以下模式:应用程序 从用户或服务器接收查询 应用应用程序检查 数据是否需要满足 该查询位于memcache中。如果数据 在memcache中,应用程序使用 这些数据。如果数据不在 memcache,应用程序查询 数据存储并将结果存储在 memcache用于将来的请求。这个 下面的伪代码代表一个典型的 memcache请求:


在更新密钥(数据库)时,您还必须更新memcache密钥。

如果数据库中的数据需要修改,而不是由您的应用程序控制,您可以通过写通方式实现缓存,那么该数据可能不适合缓存(假设您可以使用过时数据直到被删除)。

< P>您可以考虑使用ReDIS,而不是持久性(半),这将提供一些数据存储机制,并且具有快速的性能。

def get_data():
    data = memcache.get("key")
    if data is not None:
        return data
    else:
        data = self.query_for_data()
        memcache.add("key", data, 60)
        return data