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