2012-02-23 14 views
1

私はイベントカレンダーを持っています。 各イベントのカレンダー上の位置が異なります。 ページが読み込まれるたびに、私はイベント位置テーブルを空にして、イベントの場所をテーブルに書き込みます。PHPでキャッシュにデータを保存する

イベント位置テーブルは、この

eventid  location 
    1   1 
    2   2 
    3   1 
    4   1 
    5   1 
    6   2 
    7   3 
    8   4 
    9   5 

のように見えるがありかかわるいくつかの他の変数があるが、それはかなりこのようなものです。各イベントは、自分の位置を決定できるように、前のイベントの場所を知る必要があります。

このカレンダーとは異なるビューもあり、それぞれのビューで同じテクニックが使用されるため、これを解決するのが最も健康的な方法ではありません。

質問は次のとおりです。 毎回テーブルを書き直すのではなく、このテーブルのデータをキャッシュなどに保存する方法はありますか?

+2

PHPのキャッシュ方法については、以下のリンクをご覧ください。http://www.theukwebdesigncompany.com/articles/php-caching.php http://www.devshed.com/c/ a/PHP/Caching-Result-PHP-Costefficient-PHPアクセラレーション/ – m1k3y3

+0

ありがとう、私は今それらをチェックしています。 –

答えて

0

このデータをキャッシュするには、少なくとも2つの方法があります。最も簡単なのはserialize()のデータで、データベースに保存します。データベースを取得する必要がある場合は、データベースから照会して、unserialize()そのデータベースを照会し、以前と同じように使用してください。

2番目の方法は、PHPインストールにmemcacheを追加し、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); 

?> 
関連する問題