2011-12-20 14 views
2

私はmysqlにデータベースを持っています。私はmysqlから初めてデータをフェッチしてmemcacheに格納します。
2回目はmemcahceからフェッチし、memcacheから2〜3分間表示した後、再びデータベースから表示します。私は非常にmemcacheに新しいと私は理解できるように小さな例を期待しています。memcacheにdb値を格納してmemcacheから表示する方法

答えて

2

Memcacheを使用するには、単純なデータベースを作成し、値を挿入します。私はあなたにPHPファイルを与えています。sample_memcache.php
注:$ dbhost、$ dbuser、$ dbpass、$ dbnameはそれぞれlocalhost、データベースユーザ名、パスワード、データベース名です。

<html> 
<head> 
</head> 
<body> 
<form method="post"> 
    <p><b>Name</b>: <input type="text" size="20" name="name" /></p> 
<input type="submit" value="Submit" /> 
</form> 
<?php 
$memcache = new Memcache; 
$memcache->connect('127.0.0.1', 11211) or die ("Could not connect"); 
mysql_select_db($dbname); 
$id = $_REQUEST['name']; 
//echo $id; 
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql'); 

$key = md5("SELECT * FROM memc where FirstName='{$id}'"); 
//echo $key; 
$get_result = array(); 
$get_result = $memcache->get($key); 

if ($get_result) { 
     echo "<pre>\n"; 
     echo "FirstName: " . $get_result['FirstName'] . "\n"; 
     echo "LastName: " . $get_result['LastName'] . "\n"; 
     echo "Age: " . $get_result['Age'] . "\n"; 
     echo "Retrieved From Cache\n"; 
     echo "</pre>\n"; 
} else { 
     // Run the query and get the data from the database then cache it 
    //echo $id; 
     $query="SELECT * FROM memc where FirstName='{$id}'"; 
    //echo $query; 
     $result = mysql_query($query); 

     $row = mysql_fetch_array($result); 
     echo "<pre>\n"; 
     echo "FirstName: " . $row[1] . "\n"; 
     echo "LastName: " . $row[2] . "\n"; 
     echo "Age: " . $row[3] . "\n"; 
     echo "Retrieved from the Database\n"; 
     echo "</pre>\n"; 
     $memcache->set($key, $row, MEMCACHE_COMPRESSED, 60); // Store the result of the query for 20 seconds 

     mysql_free_result($result); 
} 

?> 
</body> 
</html> 
+0

ありがとうございました、今は少なくとも私は仕事を始めることができます。これはスタートアップのための非常に良い例であり、理解しやすいです。 –

1

これは基本的なmemcacheの使用法です。基本的には、データベースから値を取得する前に、すでにmemcacheに値が存在するかどうかをチェックする必要があります。存在する場合は、その値を使用します。そうでない場合は、データベースから検索し、適切な有効期限を設定してmemcacheに格納します。一般的に、これはデータを取得するために使用するある種のラッパーを作成することによって機能します。

具体的な質問がない限り、Memcached introductionで始めることをおすすめします。 PHP documentationには、開始することができるいくつかの例があります。

関連する問題