我目前定义了一个7000行的数组,类似这样的:
$product_group=array(
"151932" => "100.00",
"202123" => "50.00",
"166775" => "300.00",
..............
其中KEY就是产品ID,VALUE就是产品价格,这样的话,我每次根据产品ID拿价格的时候,直接用一个数组值的显示就可以了,省去了查询数据库的操作。但总感觉这个数组太大,想象中应该不是很合理,所以我准备将这7000个KEY和VALUE,写入硬盘中,弄7000个文件,需要用到哪个值的话,我就 include() 包含一下,这样会更好些吗?
$product_group=array(
"151932" => "100.00",
"202123" => "50.00",
"166775" => "300.00",
..............
其中KEY就是产品ID,VALUE就是产品价格,这样的话,我每次根据产品ID拿价格的时候,直接用一个数组值的显示就可以了,省去了查询数据库的操作。但总感觉这个数组太大,想象中应该不是很合理,所以我准备将这7000个KEY和VALUE,写入硬盘中,弄7000个文件,需要用到哪个值的话,我就 include() 包含一下,这样会更好些吗?
snmr_com 可以详细的解释下 为啥不如数据库取吗?
按你的说法,采用文件缓存是多余的;反而更慢。
一读文件好,多读数据库好如果你就一个php,运行一次任务(可能做很多事,中间反复使用7000个数据),然后关闭完成,这样当然是文件好,因为实际就一次打开但如果是服务器访问,每个访问者运行同一个php,每次都打开这个文件,读入,分析,计算……结束后关闭,这样IO消耗很厉害的至于说拆开7000个文件,我是不知道怎么回应了,被震住了……
我真不知道该怎么弄了。
两个性质不同,不要比较如果大量数据使用文件更快,甲骨文和google基本可以倒闭了,全部用csv就行了
尤其是google的搜索引擎,把全世界的网页都缓存就行了,数据库用来干什么
1、这 7000 行数据,你不可能都用到
2、即便都用到,你也是用到加工后的数据。据我观察你的这些数据都是离散数据,不加工时不能用的,而在数据库中加工远比php加工高效
3、mysql 已经提供了内存表,即把表数据放在内存中。查询速度至少是文件型表的10倍
况且 mysql 管理数据的能力比你自编代码要强百倍以上
这位是传说中的唠叨?
自从PHPX倒闭以后,我好久没见过高手了,呵呵
第一,这种KEY VALUE形式的键值对,如果可能,KEY可以作为唯一键的话,那查询数据库的那速度,文件肯定比不了的。
第二,你确定以后有需要的时候还是只查这两个那么简单的字段出来吗?我就不信不会用到产品图片,产品名,产品属性之类的东西,那到时候你怎么扩展?
第三,正如版主说的那样,MYSQL在开启缓存的时候,可以对表查询的结构进行缓存,下次同样的请求将会在缓存结果集中查找。
第四,实在是不想用MYSQL的话,memcache都比文件好百倍!
以上,个人意见,欢迎砖头!