Memcached

Memcached

1.简介
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。也就是说可以通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。

2.windows 下安装
1)下载Windows的Server端 地址:http://code.jellycan.com/memcached/
a.下载memcached后解压到某个盘就可以,eg: e:\memcached
b.在cmd中进入到e:\memcached, 输入memcached.exe -d install 进行安装
c.输入memcached.exe -d start进行启动,以后memcached将作为windows的一个服务每次开机时自动启动。
d.服务器端已经安装完毕
常用参数设置:
-p <num> 监听的端口
-l <ip_addr> 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u <username> 以<username>的身份运行 (仅在以root运行的时候有效)
-m <num> 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c <num> 最大同时连接数,默认是1024
-f <factor> 块大小增长因子,默认是1.25
-n <bytes> 最小分配空间,key+value+flags默认是48
-h 显示帮助

3.在PHP中的应用
1)在PHP的php.ini中加上以下这段:
extension=php_memcache.dll

[Memcache]
memcache.allow_failover = 1
memcache.max_failover_attempts=20
memcache.chunk_size =8192
memcache.default_port = 11211

2)重启服务器,打开phpinfo(),如果显示有memcache就表示memcache已经安装成功。
3)— Memcache类简介
■Memcache::add — 增加一个条目到缓存服务器
■Memcache::addServer — 向连接池中添加一个memcache服务器
■Memcache::close — 关闭memcache连接
■Memcache::connect — 打开一个memcached服务端连接
■Memcache::decrement — 减小元素的值
■Memcache::delete — 从服务端删除一个元素
■Memcache::flush — 清洗(删除)已经存储的所有的元素
■Memcache::get — 从服务端检回一个元素
■Memcache::getExtendedStats — 缓存服务器池中所有服务器统计信息
■Memcache::getServerStatus — 用于获取一个服务器的在线/离线状态
■Memcache::getStats — 获取服务器统计信息
■Memcache::getVersion — 返回服务器版本信息
■Memcache::increment — 增加一个元素的值
■Memcache::pconnect — 打开一个到服务器的持久化连接
■Memcache::replace — 替换已经存在的元素的值
■Memcache::set — Store data at the server
■Memcache::setCompressThreshold — 开启大值自动压缩
■Memcache::setServerParams — 运行时修改服务器参数和状态
4)一般测试:
在test.php中输入以下代码
<?php

$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");

$version = $memcache->getVersion();
echo "服务端版本信息: ".$version."<br/>\n";

$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;

$memcache->set('key', $tmp_object, false, 30) or die ("Failed to save data at the server");
echo "将数据保存到缓存中(数据30秒后失效)<br/>\n";

$get_result = $memcache->get('key');
echo "从缓存中取到的数据:<br/>\n";

var_dump($get_result);

?>

打开浏览器,最终显示测试结果为:
服务端版本信息: 1.2.5
将数据保存到缓存中(数据30秒后失效)
从缓存中取到的数据:
object(stdClass)#3 (2) { ["str_attr"]=> string(4) "test" ["int_attr"]=> int(123) }

5)连接db取值测试
在test_db.php中输入以下代码:
<?php
$server = 'localhost:3306';
$username = 'xxx';
$password = 'xxx';
$dbname = 'test_db';
$conn = mysql_connect($server,$username,$password);
print_r($conn);
mysql_select_db($dbname,$conn);
$sql = 'select * from test';
$result = mysql_query($sql,$conn);
while ($row = mysql_fetch_array($result,MYSQL_ASSOC)){
$test_key[] = $row;
}
$sql = md5($sql);
$mem = new Memcache;
$mem->connect("127.0.0.1", 11211);
$mem->set($sql,$test_key, MEMCACHE_COMPRESSED, 600);

print_r($mem->get($sql));
?>

6)结合监控工具MemAdmin使用,可以查看memcache的使用情况。


4.在JAVA中应用

(未完,正在整理中...)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值