首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在memcache中存储db值并从memcache中显示它

如何在memcache中存储db值并从memcache中显示它
EN

Stack Overflow用户
提问于 2011-12-20 20:35:04
回答 2查看 931关注 0票数 2

我在mysql中有一个数据库,我想在第一时间从mysql中获取数据并将其存储在memcache中。

第二次我想从memcahce中获取它,并从memcache中显示2-3分钟,然后再从数据库中显示。我是memcache的新手,我希望有一个小例子,这样我就能理解。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-20 20:47:25

从Memcache开始,创建一个简单的数据库并在其中插入一些值。我给你的php文件命名为你想要的sample_memcache.php

注意:$dbhost,$dbuser,$dbpass,$dbname分别是你的本地主机,你的数据库用户名,密码和数据库名。

代码语言:javascript
复制
<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>
票数 2
EN

Stack Overflow用户

发布于 2011-12-20 20:48:10

这是memcache的基本用法。基本上,您需要做的是,在从数据库中检索值之前,检查它是否已经存在于memcache中。如果是,则使用该值。如果没有,请从数据库中检索它,并将其存储在具有适当过期时间的memcache中。通常,这是通过创建某种用于检索数据的包装器来实现的。

除非你有更具体的问题,否则我建议你从Memcached introduction开始。PHP documentation还提供了几个示例,可以帮助您入门。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8575523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档