我有一份活动日历。每个事件在日历上都有不同的位置。每次页面加载时,我清空事件位置表,并将事件的位置写入该表。
事件位置表如下所示
eventid location
1 1
2 2
3 1
4 1
5 1
6 2
7 3
8 4
9 5还涉及到其他一些变量,但它与以下内容非常相似。每个事件都需要知道前一个事件的位置,以便它可以决定自己的位置。
这个日历也有不同的视图,每个视图都使用相同的技术,所以这不是解决这个问题的最好方法。
问题是,有没有办法将这个表的数据存储在缓存或类似的东西上,而不是每次都重写表。
发布于 2012-02-23 23:59:45
至少有两种方法可以缓存这些数据。最简单的方法是对数据执行serialize()操作并将其存储在数据库中。当需要检索数据库时,从数据库中查询它,对它执行unserialize()操作,然后像以前一样使用它。
第二种方法是将memcache添加到PHP安装中,并通过memcache函数访问数据。Example
<?php
$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");
$version = $memcache->getVersion();
echo "Server's version: ".$version."<br/>\n";
$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;
$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 10 seconds)<br/>\n";
$get_result = $memcache->get('key');
echo "Data from the cache:<br/>\n";
var_dump($get_result);
?>https://stackoverflow.com/questions/9415701
复制相似问题