【memchace】分布式缓存存取


存取在内存中 以MD5($sql)进行存取

<?php

//查询数据库,使用缓存机制 简单列子


$mem= new Memcache;
//进行连接
$mem->addserver("127.0.0.1",11211);
//进行数据库 sql拼接
//
$sql= " select * from user";


//以md5方式 作为键值key 32
$key= md5($sql);


//取数据 从数据库取值
$data= $mem->get($key);


//判断数据$data是否有值
if(empty($data)){
//如果$data是空,则从数据库 进行连接 


try{
//连接数据库
$pdo= new pdo('mysql:host=localhost;dbname=bookmarks', 'bm_user', 'password');


}
catch(PDOException $e){ 
echo "数据库连接失败".$e->getMessage();


}
//执行查询语句,获得数据
$stmt = $pdo->prepare($sql);
$stmt->execute();
$data= $stmt->fetchAll(PDO::FETCH_ASSOC);
$mem->set($key,$data,MEMCACHE_COMPRESSED,10);
echo "从数据库取值放在内存中呢";


}
echo"<pre>";
print_r($data);
echo"</pre>";




?>

运行结果:

第一次:

从数据库取值放在内存中呢

Array
(
    [0] => Array
        (
            [id] => 25
            [username] => 
            [password] => 2939d0369753eab0bb6313cf02ab2dc2
            [regtime] => 1429426065
            [email] => 349313949@qq.com
            [token] => d41d8cd98f00b204e9800998ecf8427e
            [token_exptime] => 1429512465
            [status] => 1
        )

    [1] => Array
        (
            [id] => 34
            [username] => 
            [password] => 2939d0369753eab0bb6313cf02ab2dc2
            [regtime] => 1429447082
            [email] => 1273137153@qq.com
            [token] => b8c9a6c622c3f505f028c35557e0ed18
            [token_exptime] => 1429533482
            [status] => 1
        )

)

每隔10s从数据库进行取数据

Array
(
    [0] => Array
        (
            [id] => 25
            [username] => 
            [password] => 2939d0369753eab0bb6313cf02ab2dc2
            [regtime] => 1429426065
            [email] => 349313949@qq.com
            [token] => d41d8cd98f00b204e9800998ecf8427e
            [token_exptime] => 1429512465
            [status] => 1
        )

    [1] => Array
        (
            [id] => 34
            [username] => 
            [password] => 2939d0369753eab0bb6313cf02ab2dc2
            [regtime] => 1429447082
            [email] => 1273137153@qq.com
            [token] => b8c9a6c622c3f505f028c35557e0ed18
            [token_exptime] => 1429533482
            [status] => 1
        )

)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值