PHP:php操作memcache

本文详细介绍如何使用PHP操作Memcache,包括连接、增删改查、设置有效期、清空及检查状态等基本操作,并通过实例展示如何利用Memcache提高数据读取效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

php操作memcache:

1.连接
$mem=new Memcache;
$mem->connect(“localhost”,“11211”);


**


2.增和改
$mem->set(‘username’,‘123’);


**

<?php
$memcache = new Memcache;             //创建一个memcache对象
$memcache->connect('localhost', 11211); //连接Memcached服务器
$b=$memcache->set('name1', 'test123');        //设置一个变量到内存中,名称是key 值是test
$c=$memcache->get('name1'); 
echo $c; 
?>

memcache设置有效期

<?php
$memcache = new Memcache;             //创建一个memcache对象
$memcache->connect('localhost', 11211); //连接Memcached服务器
$memcache->set('age3','50',0,10);
?>

**


3.删(delete)
$mem->delete(‘username’);


**

<?php
$memcache = new Memcache;             //创建一个memcache对象
$memcache->connect('localhost', 11211); //连接Memcached服务器
if($memcache->delete('name1')){
    echo "删除成功!";
}
?>

4.查(get)
$mem->get(‘username’);


**

<?php
$memcache = new Memcache;             //创建一个memcache对象
$memcache->connect('localhost', 11211); //连接Memcached服务器
$b=$memcache->set('name1', 'test123');        //设置一个变量到内存中,名称是key 值是test
$c=$memcache->get('name1'); 
echo $c; 
?>

5.清空
$mem->flush();


**

<?php
$memcache = new Memcache;             //创建一个memcache对象
$memcache->connect('localhost', 11211); //连接Memcached服务器
if($memcache->flush()){
    echo "清空成功!";
}
?>

6.状态
$mem->getStats();


**

<?php
$memcache = new Memcache;             //创建一个memcache对象
$memcache->connect('localhost', 11211); //连接Memcached服务器
$arr=$memcache->getStats();

echo '<pre>';
print_r($arr);
echo '</pre>';
?>

在这里插入图片描述
[实例: 用户查看]


index.php

<?php
$memcache = new Memcache;             //创建一个memcache对象
$memcache->connect('localhost', 11211); //连接Memcached服务器



if(!$rows=$memcache->get('rows')){
    // 缓存中无rows,需要从mysql中重新获取新数据
    // 数据库数据
    $servername = "localhost";
    $username = "root";
    $password = "123";
    $dbname='myweb';

    $pdo= new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $pdo->exec('set names utf8');
    $sql="select * from user";
    $smt=$pdo->prepare($sql);
    $smt->execute();
    $rows=$smt->fetchAll(PDO::FETCH_ASSOC);

	// 把rows存入memcache缓存

    $memcache->set('rows',$rows);
    //来自数据库
	$s=1;

}else{
    //来自缓存
	$s=0;
}

?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    
    <title>查看用户</title>
	<link rel="stylesheet" href="/bs/css/bootstrap.css">
	<script src='/bs/js/jquery.js'></script>
	<script src='/bs/js/bootstrap.js'></script>    
</head>
<body>
    <div class="container">
        <h1 class="page-header">查看用户:
            <a href="clear.php" class="btn btn-success">清除缓存</a>
        </h1>
        <table class='table table-striped table-bordered table-hover'>
            <tr>
                <th>编号</th>
                <th>用户名</th>
                <th>密码</th>
            </tr>
            <?php
            foreach($rows as $row){
                echo "<tr>";
                echo "<td>{$row['id']}</td>";
                echo "<td>{$row['username']}</td>";
                echo "<td>{$row['age']}</td>";
                echo "</tr>";

            }
            
            
            
            ?>
        </table>
    <?php
    if($s){    
    ?>
    <div class="alert alert-danger">
        <p>页面数据全部来自Mysql数据库!</p>
    </div>
    <?php
    }else{
    ?>
    <div class="alert alert-success">
        <p>页面数据全部来自Memcache缓存!</p>
    </div>
    <?php
    }
    ?>
    </div>
    

</body>
</html>

clear.php

<?php
$memcache = new Memcache;             //创建一个memcache对象
$memcache->connect('localhost', 11211); //连接Memcached服务器

if($memcache->flush()){
    echo "<script>location='index.php'</script>";
}

?>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值