使用带有codeigniter的MySQL缓存查询

时间:2015-04-11 19:25:41

标签: php mysql codeigniter caching

我在MySQL中使用codeigniter。

我的一个数据库是一个非常稳定的price_table并获得" SELECT"通常,访问通过相同的model_function进行访问,因此查询将完全相同。我认为这应该是实现MySQL缓存查询以提高性能的一个很好的例子。

我想尽可能使用codeigniter函数与数据库进行交互,所以我的代码如下:

$q = $this->db->select('service_info.*, service_pricing.price, service_pricing.price_ID')
                    ->from('service_pricing')
                    ->where('status','active')
                    ->join('service_info','service_info.service_ID = service_pricing.service_ID ')
                    ->get();
if ($q->num_rows > 0) {
    return $q->result_array();
} else {return FALSE;}

我从codeigniter文档中读到了Database Caching Class,但我认为这不是我想要的。 这里描述的缓存似乎是一个全局缓存。就我而言,我希望它是关于一个相对恒定的数据库的一些查询。

我在想像this example

SELECT SQL_CACHE id, name FROM customer;

我能在codeigniter中做到这一点吗? 谢谢!

1 个答案:

答案 0 :(得分:1)

您可以将缓存设置为全局缓存或特定于特定查询。如果要将缓存设置为查询,请使用如下

$this->db->cache_on();
//your number 1 query here. this query will cache


 $this->db->cache_off();
 // number 2 query here. This query will not cached

希望现在明白