0

我在应用程序开发方面有点新。我目前正在开发一个应用程序,我想知道您对我作为新手所面临的问题的宝贵意见。

在缓存方面,我应该将应用程序的哪些部分添加到缓存中?让我举个例子说明我在做什么:

我正在为我的用户开发一个图片共享应用程序,并且我创建了一个缓存机制来缓存每个用户的数据、他的相册和他的图片。我目前每页有 1 个查询(仅在它尚未存储在缓存中的情况下),例如:

if ( !$ItemNotInCache )
{
$MyData = $DB->Query('blah');
Cache::CacheIt($MyData);
}

这大约是我得到的每一个结果,每次用户请求页面时,我都尽量不调用太多查询,这有效吗?问题是,正如您所理解的,我必须构建这个巨大的机制来操作数组中的所有这些数据,等等。

  • 当用户从数据库中删除图像时,我也必须从他相册的缓存数据中删除索引。

  • 当用户将图像添加到数据库时,我使用 array_merge 将此项目插入到他的缓存数据中,依此类推。

我的一个朋友告诉我,我不应该滥用缓存,因为我的数据是动态的,并且会经常变化,他还告诉我这就是 MySQL 的用途。我的问题是我应该以这种方式使用缓存吗?如您所知,数据是动态的,应该经常刷新。这是有效的还是我应该坚持使用 MySQL 查询?

4

1 回答 1

0

我认为您正在做的事情非常好。在几乎所有情况下,从缓存中检索都使用较少的资源,而不是每次都进行查询。

但是,我不会尝试“合并”添加的图像,只需再次调用数据库即可。只需在相册修改时增加缓存。我不认为在修改专辑时编辑缓存是正确的方法。数据库擅长存储和构建数据,因此很容易检索。为什么要自己建?

于 2013-08-04T21:08:22.497 回答