memcached的key的bug?

本文介绍了一种使用PHP与Memcache实现的缓存机制。该机制通过检查Memcache中是否存在所需数据来决定是从缓存中读取还是从数据库中获取。当缓存未命中时,系统会直接显示相关信息。

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

 

 

<?
if(class_exists('Memcache')) {
    
$memcache = new Memcache;
    
if(!$memcache->connect('127.0.0.1', 11211)) 
        {
//print 'server down'; 
            define('CACHE_ON',0);
            }
    
else {
        
//print 'yes';
        define('CACHE_ON',1);
    }    
}
else {
    
//print ('class not exist');
    define('CACHE_ON',0);
}


//get
function getCache($key,$username='') {
    
if(CACHE_ON ==1) {
        
GLOBAL $memcache;
        
if($v = $memcache->get($key)) {
            
//print 'get cahed!';
            //print_r ($v);

            return $v;
        }
        
else {
            
//print 'missed!';
            return false;
        }
    }
    
else
    {
        
return false;
        }
}

//重设
function setCache($key,$v,$username='') {
    
if(CACHE_ON ==1) {
        
GLOBAL $memcache;
         
$memcache->set($key,$v);                 
    }    
}
    

//取 出数据
/*
注意的是如果变量$getnickname中有空格时会被换成_,如 大_____ゞ */
$getnickname = $_GET['u'];
$mynickname = $_GET['u'];
if(!getCache($getnickname)) 
{
print 'mynick2='.$mynickname;     
print 'mynik='.$getnickname;        
}    
?>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值