私はmysqlにデータベースを持っています。私はmysqlから初めてデータをフェッチしてmemcacheに格納します。
2回目はmemcahceからフェッチし、memcacheから2〜3分間表示した後、再びデータベースから表示します。私は非常にmemcacheに新しいと私は理解できるように小さな例を期待しています。memcacheにdb値を格納してmemcacheから表示する方法
2
A
答えて
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>
1
これは基本的なmemcacheの使用法です。基本的には、データベースから値を取得する前に、すでにmemcacheに値が存在するかどうかをチェックする必要があります。存在する場合は、その値を使用します。そうでない場合は、データベースから検索し、適切な有効期限を設定してmemcacheに格納します。一般的に、これはデータを取得するために使用するある種のラッパーを作成することによって機能します。
具体的な質問がない限り、Memcached introductionで始めることをおすすめします。 PHP documentationには、開始することができるいくつかの例があります。
関連する問題
- 1. MemcacheにPHP配列を格納できますか?
- 2. memcache(d)とは異なる$ _SESSIONにデータを格納する方法は?
- 3. memcacheキーに格納されている配列から値を削除しますか?
- 4. Memcacheプロトコルを使用して格納されたApache Ignite値のサイズの制限
- 5. Mongo DBにオブジェクトを値として格納する方法は?
- 6. memcacheからのIdのリストのクエリ値
- 7. コマンドラインからHerokuのmemcacheにアクセスする方法
- 8. memcache/php - multi memcacheノードを使ったベストプラクティス
- 9. ZF2 ..のMemcacheにSplQueueオブジェクトを正しく格納できません。
- 10. Google App Engine ndb memcacheいつmemcacheを使用するか
- 11. Symfony3翻訳システムキャッシュからMemcache
- 12. Memcacheクラスタフェイルオーバーレプリケーション
- 13. Spymemcache- Memcacheの/ MemBase値Faileover
- 14. Memcache Null値を出力する
- 15. はdevコンソールのmemcacheビューアにmemcache値を取得できません
- 16. Memcacheロジックについて
- 17. JAVAを使用してMONGO DBに値を格納する方法は?
- 18. ASCIIコードを変数に格納してから表示する
- 19. AppengineのMemcache - キャッシュからすべてのデータを取得する方法
- 20. 計算フィールド:DBに格納するか、格納しないか?
- 21. キーが範囲内にあり、単一の値ではない場合、キー値ペアをmemcacheまたは格納する方法はありますか?
- 22. CDIインターセプタとmemcache
- 23. Memcache退去ポリシー
- 24. memcacheトランザクションとconcurency
- 25. Memcache get()failure
- 26. Memcache in windows
- 27. Heroku PHP memcache Extension
- 28. Google Memcacheとローカルディスクキャッシュ
- 29. RESTサービスとMemcache
- 30. ジャンゴMemcacheのコードレビュー:
ありがとうございました、今は少なくとも私は仕事を始めることができます。これはスタートアップのための非常に良い例であり、理解しやすいです。 –