我在应用程序开发方面有点新。我目前正在开发一个应用程序,我想知道您对我作为新手所面临的问题的宝贵意见。
在缓存方面,我应该将应用程序的哪些部分添加到缓存中?让我举个例子说明我在做什么:
我正在为我的用户开发一个图片共享应用程序,并且我创建了一个缓存机制来缓存每个用户的数据、他的相册和他的图片。我目前每页有 1 个查询(仅在它尚未存储在缓存中的情况下),例如:
if ( !$ItemNotInCache )
{
$MyData = $DB->Query('blah');
Cache::CacheIt($MyData);
}
这大约是我得到的每一个结果,每次用户请求页面时,我都尽量不调用太多查询,这有效吗?问题是,正如您所理解的,我必须构建这个巨大的机制来操作数组中的所有这些数据,等等。
当用户从数据库中删除图像时,我也必须从他相册的缓存数据中删除索引。
当用户将图像添加到数据库时,我使用 array_merge 将此项目插入到他的缓存数据中,依此类推。
我的一个朋友告诉我,我不应该滥用缓存,因为我的数据是动态的,并且会经常变化,他还告诉我这就是 MySQL 的用途。我的问题是我应该以这种方式使用缓存吗?如您所知,数据是动态的,应该经常刷新。这是有效的还是我应该坚持使用 MySQL 查询?