开启数据库查询缓存后,是否可以不再连接数据库?

#1 gonten

我使用$this->spCache(36000)->findAll()缓存了数据,但是如果把数据库密码写错,网页就会出错

提示$post = spClass("Post");这行出错,也就是说就算缓存了数据,还是会连接数据库,感觉没有必要浪费这资源

jake老大,怎么解决这个问题呢?翻了论坛没有找到解决办法

2014-05-06 08:29:43

#2 jake

你这里用了$this->,所以数据库类model肯定是实例化了。使用spCache是需要检查原有数据源的链接,只是不会进行查询,所以密码错误会提示。这是为了避免重新获取的时候无数据源的问题。

只是检查一次数据源链接,资源开销并不大,可以放心。

另外,如果希望完全不链接数据库,可以用spAccess来缓冲获得的数据。

2014-05-06 09:03:49

#3 gonten

jake 发表于 2014-5-6 09:03
你这里用了$this->,所以数据库类model肯定是实例化了。使用spCache是需要检查原有数据源的链接,只是不会 ...
多谢,已解决

                  $_post = spAccess('r', 'index_list');
                  if(false == $_post){
                          $post = spClass("Post");
                          $_post = $post->findAll();
                          spAccess("w", "index_list", $_post);
                  }

2014-05-06 13:17:51