2009-10-25 79 views
0

我正在开发一个基于网格的寻宝游戏,比如PHP,mySQL和我试图在两个缓存选项之间做出决定。mySQL缓存 - 内存或硬盘?

游戏说明 用户有1000个单元网格,点击某些单元格将没有任何效果,其他人会指导您“找到该项目!页面:)...许多项目都可以通过任何触摸单元(一组)访问。

过程

当用户点击在细胞我有一个JS脚本,可以检测被点击哪一个小区...它然后:

选项1: 比较它从内存缓存的mysql响应中以逗号分隔的'item'单元列表。如果被点击的单元格是其中一个'item'单元格,它会将用户导向到像/ grid/cellnumber.php这样的地址,那么如果该单元格号码是一个组的一部分(在游戏描述中已经解释过),它会重定向用户到包含“此项目已找到!”的组内的最低单元格号。页。

选项2: 比较它含有基团和细胞数目例如项[组没有,细胞没有],然后如果小区点击一个小区中没有它指示用户相匹配的多维数组到... /格/组no.php

选项2显然更整洁,但我认为,这需要大约双倍的内存其缓存的时候,因为它需要存储的单元格,组号

什么都做其他人认为?

+4

记忆每次都以速度获胜。 – 2009-10-25 15:21:01

+0

这与缓存有什么关系?没有提到“硬盘”如何解决问题。 – Pointy 2009-10-25 16:05:13

+0

当然,“这个项目已找到”页面作为一个PHP文件缓存到硬盘,但在两个选项中使用......它真的是更多的内存缓存(选项2 - 组和单元格)或使用更多硬盘空间(选项一与单元重定向页面)。 – Mark 2009-10-25 17:47:40

回答

1

访问磁盘以毫秒为单位进行测量,访问内存以纳秒为单位进行测量。内存要快得多。

即使您在每个单元中有1 MB的数据,也可以使用1000个单元格,它仍然适合新PC的内存。