PDA

View Full Version : zen cart 数据库缓存简介


Neapolis
2016-05-15, 10:14 AM
首先,zencart的缓存指的是SQL数据库缓存,就是zencart读取数据库时,可以保存部分查询结果,一定程度上减少对数据库的查询次数。

zencart的SQL缓存设置有三个选项: none, database 和 file
前台的数据库缓存,在 \includes\configure.php 文件中设置;
后台的数据库缓存,在 \admin\includes\configure.php 文件中设置;
需要修改以下两个参数:

define('SQL_CACHE_METHOD', 'none');
define('DIR_FS_SQL_CACHE', '/var/www/html/cache');


其中,SQL_CACHE_METHOD 即为缓存方式:

none: 无,即不使用缓存。如果您的商品和分类很少,该方式实际上速度最快。

database: 数据库,即使用数据库缓存方式。SQL查询结果缓存在数据库表中。听起来很奇怪,但对于商品和分类数量中等的网站来说,可以加快速度。

file: 文件,即使用文件缓存方式。SQL查询结果缓存于服务器的硬盘上。该方式适合有大量的商品和分类的网站。

如果选择 file 方式,需要同时设置 DIR_FS_SQL_CACHE 为缓存文件的目录,这也是商店管理员需要定时删除缓存文件的目录。建议使用zencart的cache目录,该目录必须可写 (chmod 666 或者 chmod 777)。

Nelliston
2016-05-15, 10:15 AM
了解了,确实不错,一般网站都是中型的,那么可不可以这样理解,我的代码应当如下所示:
define('SQL_CACHE_METHOD', 'databse');
define('DIR_FS_SQL_CACHE', 'D:/APMServ5.2.6/www/htdocs/zen-cart/cache');
不好意思,本人是菜鸟!

Neshoba
2016-05-15, 10:16 AM
可以,注意是 database

Nettle Creek
2016-05-15, 10:18 AM
如果是大型的网站就用file, 要把代码贴到代码在 configure.php 文件中


define('SQL_CACHE_METHOD', 'file');
define('DIR_FS_SQL_CACHE', '/var/www/html/cache');


只能在配置文件configure.php中修改。缓存数据要手工定时删除,数据库缓存在db_cache表中,用phpmyadmin清除。建议你使用数据库方式。