分布式缓存系统 Memcached 快速入门
Memcached介绍
Memcached安装/运行
Memcached 支持许多平台:Linux、FreeBSD、Solaris、Mac OS,也可以安装在Windows上。
Linux系统安装memcached,首先要先安装libevent库。
sudo apt-get install libevent ibevent-dev 自动下载安装(Ubuntu/Debian) yum install libevent libevent-devel 自动下载安装(Redhat/Fedora/Centos)
安装 Memcached
Ubuntu/Debian
sudo apt-get install memcached
Redhat/Fedora/Centos
yum install memcached
FreeBSD
portmaster databases/memcached
运行Memcached
Memcached命令的运行:
$ /usr/local/memcached/bin/memcached -h 命令帮助
注意:如果使用自动安装 memcached 命令位于 /usr/local/bin/memcached。
启动选项:
- -d是启动一个守护进程;
- -m是分配给Memcache使用的内存数量,单位是MB;
- -u是运行Memcache的用户;
- -l是监听的服务器IP地址,可以有多个地址;
- -p是设置Memcache监听的端口,,最好是1024以上的端口;
- -c是最大运行的并发连接数,默认是1024;
- -P是设置保存Memcache的pid文件。
(1)作为前台程序运行:
从终端输入以下命令,启动memcached:
/usr/local/memcached/bin/memcached -p 11211 -m 64m -vv slab class 1: chunk size 88 perslab 11915 slab class 2: chunk size 112 perslab 9362 slab class 3: chunk size 144 perslab 7281 中间省略 slab class 38: chunk size 391224 perslab 2 slab class 39: chunk size 489032 perslab 2 <23 server listening <24 send buffer was 110592, now 268435456 <24 server listening (udp) <24 server listening (udp) <24 server listening (udp) <24 server listening (udp)
这里显示了调试信息。这样就在前台启动了memcached,监听TCP端口11211,最大内存使用量为64M。调试信息的内容大部分是关于存储的信息。
(2)作为后台服务程序运行:
# /usr/local/memcached/bin/memcached -p 11211 -m 64m -d
或者
/usr/local/memcached/bin/memcached -d -m 64M -u root -l 192.168.0.200 -p 11211 -c 256 -P /tmp/memcached.pid
Memcached工作方式分析
分布式是 Memcached 的主要特性,所以你可以在多台服务器上来安装 Memcached 来组建一个更大的缓存服务器。这样一来,Memcached 可以帮助我们使数据库的压力降到最低, 从而我们可以构建出更快的、更具扩展性的 WEB 应用。
许多Web应用都将数据保存到 RDBMS中,应用服务器从中读取数据并在浏览器中显示。 但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、 网站显示延迟等重大影响。Memcached是高性能的分布式内存缓存服务器,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web等应用的速度、 提高可扩展性。下图展示了memcache与数据库端协同工作情况:
2.如果请求的数据在缓存中找不到,这时候再去查询数据库。返回请求数据的同时,把数据存储到缓存中一份。
3.保持缓存的“新鲜性”,每当数据发生变化的时候(比如,数据有被修改,或被删除的情况下),要同步的更新缓存信息,确保用户不会在缓存取到旧的数据。
- 协议简单
- 基于libevent的事件处理
- 内置内存存储方式
- memcached不互相通信的分布式
如何实现分布式可拓展性
Memcached的分布式不是在服务器端实现的,而是在客户端应用中实现的,即通过内置算法制定目标数据的节点,如下图所示:
相关文章
- 干货 | 携程百亿级缓存系统探索之路——本地缓存结构选型与内存压缩
- 分布式缓存系统之Memcached安装配置详解大数据
- Linux命令行清理缓存的技巧(linux清理缓存的命令)
- 利用Oracle系统实现数据缓存(oracle数据缓存)
- 缓存Linux系统清理缓存快速减负(linux清除)
- linux系统快速清理缓存(linux清空cache)
- Jedis与Redis:掌握这两个关键词,助你更好地了解分布式缓存系统(jedis和redis)
- 实现数据库缓存加速:从MySQL到Redis(将数据库缓存到redis)
- 配置Redis缓存以优化性能(redis缓存配置文件)
- 微服务技术改善系统性能基于Redis缓存实现(微服务redis缓存)
- 新增Redis缓存系统提升性能(系统增加缓存redis)
- 缓存利用数据库实现Redis缓存的有效性(用数据库做redis)
- 数据库Redis缓存架设高效能度(数据库redis缓存)
- 电商系统使用SSM框架和Redis缓存搭建电商系统(ssm redis搭建)
- 实现更快捷的系统运行采用全局Redis缓存(全局redis缓存)
- 用JAVA自设的EhCache替代Redis缓存系统(使用什么代替redis)
- 极大提升系统性能Redis缓存技术(对缓存技术 redis)
- Redis集群操作构建高效可靠的缓存系统(redis 集群操作)
- 方案Redis驱动的缓存雪崩问题解决方案(redis 缓存雪崩解决)
- Redis评论缓存高效实现社交流畅(redis评论缓存方案)
- 研究Redis缓存的双级机制(redis缓存的两种机制)
- Redis测试点实现高效缓存(redis测试点缓存)
- C#memcached缓存使用实例代码