分布式缓存系统之Memcached

简介:

简单介绍:

Memcache缓存数据库:减少数据库压力。高性能的分布式内存缓存服务器,用于动态Web应用,减少I/O,提高web访问速度以减轻数据库负载,以提高动态Web应用的速度、提高可扩展性。利用 Memcached 处理实时数据读写;MySQL是影响性能的最大瓶颈,可以用一台MySQL主库(只写)+多台MySQL辅库(只读)的主辅库集群来解决。另外,访问计数等实时性很强的东西用Memcache做缓存。基于c#语言写的调用libevent库事件来实现。

1. hash表结构:key、value存取方式

2. 工作方式:memcached是以守护程序方式运行一个或多个服务器中,随时会接受客户端(如:PHP)连接或操作。

Linux安装配置

一、Memcached安装

1
2
3
4
5
6
wget http: //memcached .googlecode.com /files/memcached-1 .4.10. tar .gz
yum  install  libevent libevent-devel  #安装Memcached组件
tar  zxvf memcached-1.4.10. tar .gz
cd  memcached-1.4.10
. /configure
make  &&  make  install

查看是否成功安装memcached

1
2
3
ls  -al  /usr/local/bin/mem *
-rwxr-xr-x 1 root root 137986 11?? 12 17:39  /usr/local/bin/memcached
-rwxr-xr-x 1 root root 140179 11?? 12 17:39  /usr/local/bin/memcached-debug

二、安装Memcache的PHP扩展

1
2
3
4
5
6
wget http: //pecl .php.net /get/memcache-3 .0.6.tgz
tar  zvxf memcache-3.0.6.tgz
cd  memcache-3.0.6
/usr/local/php/bin/phpize
. /configure  –with-php-config= /usr/local/php/bin/php-config
make  &&  make  installmemcache模块

使php加载memcache模块

1
2
vi  /etc/php .ini
extension=memcache.so

三、启动Memcache的服务器端:

1
/usr/local/bin/memcached  -d -m 128 -l 192.168.0.10 -p 11211

-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB
-u是运行Memcache的用户
-l是监听的服务器IP地址
-p是设置Memcache监听的端口,最好是1024以上的端口
-c选项是最大运行的并发连接数,默认是1024,根据你服务器的负载量来设定
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,

结束Memcache进程,执行:killall memcached


Windows安装配置

下载Memcached:http://ishare.iask.sina.com.cn/f/36094281.html

下载5.3php_memcache.dll:http://code.google.com/p/sirius/downloads/detail?name=php_memcache.dll&can=2&q=

一、Memcached和Memcache安装
1、 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached
2、 CMD页面下输入 ‘c:\memcached\memcached.exe -d install’ #安装memcached到系统服务
3、安装php_memcache.dll,下载对应的php版本
4、加载memcache客户端,在C:\winnt\php.ini 加入一行 ‘extension=php_memcache.dll’

5、启动memcached:

c:\memcached\memcached.exe -d –m 128 –l 127.0.0.1 –p 11211 start #默认端口:11211

二、Memcache环境测试

1.重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!
2.也可以运行下面的php文件,如果有输出This is a test!,就表示环境搭建成功。

1
2
3
4
5
6
7
< ?php
$mem = new Memcache;
$mem->connect(“127.0.0.1″, 11211);
$mem-> set (‘key’, ‘This is a  test !’, 0, 60);
$val = $mem->get(‘key’);
echo  $val;
?>

其他测试:telnet 192.168.0.202 11211或phpinfo()

常用命令:status、version、flush_all、quit、get、add、set



本文转自 李振良OK 51CTO博客,原文链接:http://blog.51cto.com/lizhenliang/1290430,如需转载请自行联系原作者

相关文章
|
1月前
|
存储 块存储
ceph分布式存储系统常见术语篇
关于Ceph分布式存储系统的常见术语解释和概述。
59 1
ceph分布式存储系统常见术语篇
|
1月前
|
缓存 运维 NoSQL
二级缓存架构极致提升系统性能
本文详细阐述了如何通过二级缓存架构设计提升高并发下的系统性能。
|
2月前
|
消息中间件 存储 监控
消息队列系统中的确认机制在分布式系统中如何实现?
消息队列系统中的确认机制在分布式系统中如何实现?
|
2月前
|
运维 安全 Cloud Native
核心系统转型问题之保障云原生分布式转型中的基础设施和应用层面如何解决
核心系统转型问题之保障云原生分布式转型中的基础设施和应用层面如何解决
|
2月前
|
监控 Cloud Native 容灾
核心系统转型问题之API网关在云原生分布式核心系统中的功能如何解决
核心系统转型问题之API网关在云原生分布式核心系统中的功能如何解决
|
2月前
|
运维 安全 Cloud Native
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决
|
2月前
|
机器学习/深度学习 分布式计算 PyTorch
构建可扩展的深度学习系统:PyTorch 与分布式计算
【8月更文第29天】随着数据量和模型复杂度的增加,单个GPU或CPU已无法满足大规模深度学习模型的训练需求。分布式计算提供了一种解决方案,能够有效地利用多台机器上的多个GPU进行并行训练,显著加快训练速度。本文将探讨如何使用PyTorch框架实现深度学习模型的分布式训练,并通过一个具体的示例展示整个过程。
68 0
|
2月前
|
缓存 架构师 数据库
缓存系统稳定性 - 架构师峰会演讲实录
缓存系统稳定性 - 架构师峰会演讲实录
|
2月前
|
存储 缓存 关系型数据库
Django后端架构开发:缓存机制,接口缓存、文件缓存、数据库缓存与Memcached缓存
Django后端架构开发:缓存机制,接口缓存、文件缓存、数据库缓存与Memcached缓存
38 0
|
2月前
|
运维 Cloud Native 容灾
核心系统转型问题之云原生分布式核心,业务敏捷该如何实现
核心系统转型问题之云原生分布式核心,业务敏捷该如何实现