分布式缓存系统之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,如需转载请自行联系原作者

相关文章
|
21天前
|
缓存 NoSQL Java
手撸的 SpringBoot缓存系统,性能杠杠的
手撸的 SpringBoot缓存系统,性能杠杠的
27 0
|
1月前
|
消息中间件 存储 NoSQL
【Redis项目实战】使用Springcloud整合Redis分布式锁+RabbitMQ技术实现高并发预约管理处理系统
【Redis项目实战】使用Springcloud整合Redis分布式锁+RabbitMQ技术实现高并发预约管理处理系统
|
1月前
|
缓存
LRU 缓存置换策略:提升系统效率的秘密武器(下)
LRU 缓存置换策略:提升系统效率的秘密武器(下)
|
1月前
|
存储 缓存 算法
LRU 缓存置换策略:提升系统效率的秘密武器(上)
LRU 缓存置换策略:提升系统效率的秘密武器(上)
|
1月前
|
存储 Web App开发 运维
原来10张图就可以搞懂分布式链路追踪系统原理
原来10张图就可以搞懂分布式链路追踪系统原理
|
1月前
|
算法 Java 数据中心
分布式ID生成系统之雪花算法详解
在当今的云计算和微服务架构盛行的时代,分布式系统已成为软件开发的重要组成部分。随着系统规模的扩大和业务的复杂化,对数据一致性和唯一性的要求也越来越高,尤其是在全局唯一标识符(ID)的生成上。因此,分布式ID生成系统应运而生,成为保证数据唯一性和提高系统可扩展性的关键技术之一。雪花算法(Snowflake)是Twitter开源的一种算法,用于生成64位的全局唯一ID,非常适用于分布式系统中生成唯一标识符。下面我们将深入探讨雪花算法的原理、结构和实现方式。
93 2
 分布式ID生成系统之雪花算法详解
|
2月前
|
缓存 NoSQL Redis
如何在Python中使用Redis或Memcached进行缓存?
如何在Python中使用Redis或Memcached进行缓存?
26 2
|
2月前
|
存储 缓存 Python
如何在Python中实现一个简单的缓存系统?
如何在Python中实现一个简单的缓存系统?
31 1
|
2月前
|
存储 缓存 算法
使用Java实现高效的数据缓存系统
【2月更文挑战第3天】在大规模的应用程序中,数据缓存是提高应用程序性能的一种重要方法。本文介绍了如何使用Java实现高效的数据缓存系统。我们将讨论缓存的设计原则和缓存算法的选择,同时详细说明如何使用Java内置的缓存库和其他开源工具来构建一个可靠、高效的数据缓存系统。
|
2月前
|
缓存 NoSQL Go
从2开始,在Go语言后端业务系统中引入缓存
从2开始,在Go语言后端业务系统中引入缓存
29 0

热门文章

最新文章