php memcached入门实例
memcached的访问流程:
在访问缓存的过程中,没有任何权限控制的相关流程,对于一般数据,不用考虑其安全性。
但对于重要的数据,则请考虑如下memcache的安全要素:
使用唯一的 key:因为在 memcached 中的数据是以一个大的数组形式存在的,所以你应该使用唯一的 key。
如何做到访问数据?唯一办法就是通过保存数据时的 key,除此之外再没有其它可查询的办法。
保证 memcached 器安全:因为 memcached 本身并没有身份验证机制,所以对 memcached 的服务器查询,都应该通过防火墙进行,你可以在防火墙上设定规则,哪些服务器是允许被访问的,哪些是不允许被访问的.
加密数据:
可以将数据和 key 通过加密的方式保存在 memcached 中,这需要花费一些额外的 cpu 时间,但是为了数据安全,情况允许的情况下,此方法可以一试。
例子:
复制代码 代码示例:
<?php
class mycache
{
private $cache;
function __construct()
{
$this->cache = new memcache();
// you can replace localhost by memcached server ip addr and port no.
$this->cache->connect('localhost', 10987);
} // www.jb200.com
function get_data($key)
{
$data = $this->cache->get($key);
if($data != null)
return $data;
else
{
if($this->cache->getresultcode() == memcached::res_notfound)
{
//do the databse query here and fetch data
$this->cache->set($key,$data_returned_from_database);
}
else
{
error_log('no data for key '.$key);
}
}
}
}
$cache = mycache();
$cache->get_data('foo');
?>