中间件从青铜到王者第一篇: memcache初相识
Posted 互联网老辛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中间件从青铜到王者第一篇: memcache初相识相关的知识,希望对你有一定的参考价值。
大家好,我是互联网老辛,这是我参与更文挑战的第1天;
今天主要来分享关于memcache的介绍和部署,以及简单的使用,每天一篇,让你系统学习中间件
memcache的介绍
memcahce 被称为分布式的高速缓存系统,在一些大型的,需要频繁被访问的数据库网站上,可以有效提升访问速度。
目前应用场景有两类:
-
作为数据库的前段缓存:
Memcached(内存是易失性存储), redis, memcachedb, HANA -
作为session服务器
工作流程
在有缓存的情况下,请求经过web服务器到达memcache,查看,如果有缓存直接返回结果,不会去访问数据库。
面试题: memcache与redis的区别
从存储方式上来说: memcache把数据全部存在内存当中,断电后会挂掉,数据不能超过内存大小。
redis的优势是有部分数据保存在硬盘上,这样能保证数据的持久化,支持数据的持久化。
从数据支持类型上来看,redis在数据支持上要比memcache要多。
但memcache最大的优势是支持的平台比较多,redis目前只能在linux上用。
安装memcache
安装libevent
上传软件包: libevent-2.1.12-stable.tar.gz
解压
[root@itlaoxin164 ~]# tar zxvf libevent-2.1.12-stable.tar.gz
[root@itlaoxin164 ~]# cd libevent-2.1.12-stable
[root@itlaoxin164 libevent-2.1.12-stable]# ./configure --prefix=/usr/local/libevent --disable-openssl #检查系统编译环境
安装
[root@itlaoxin164 libevent-2.1.12-stable]# make -j 4
[root@itlaoxin164 libevent-2.1.12-stable]# make install #安装
查看已经安装的文件:
[root@itlaoxin164 libevent-2.1.12-stable]# ls /usr/local/libevent/
bin include lib
安装memcache
[root@itlaoxin164 ~]# tar zxvf memcached-1.6.9.tar.gz
[root@itlaoxin164 ~]# cd memcached-1.6.9
[root@itlaoxin164 memcached-1.6.9]# ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/
[root@itlaoxin164 memcached-1.6.9]# make -j 4
[root@itlaoxin164 memcached-1.6.9]# make install
[root@itlaoxin164 memcached-1.6.9]# echo $?
0
启动memcached
[root@itlaoxin164 memcached-1.6.9]# /usr/local/memcached/bin/memcached -u root -p 11211 -l 192.168.1.164 -P /var/run/memcached.pid -m 128m -c 2048 -d
[root@itlaoxin164 memcached-1.6.9]# echo $?
0
参数的介绍
参数 | 作用 |
---|---|
-u | user |
-p | port |
-l | listen |
-P | pid |
-m | 内存缓存大小 |
-c | 最大并发 |
-d | 作为守护进程在后台运行 |
查看端口:
[root@itlaoxin164 ~]# netstat -antup | grep 11211
tcp 0 0 192.168.1.164:11211 0.0.0.0:* LISTEN 9801/memcached
udp 0 0 192.168.1.164:11211 0.0.0.0:* 9801/memcached
测试,连接memecached 读写数据
#使用telnet连接memcache,进行测试
语法:telnet IP 11211
[root@itlaoxin164 ~]# rpm -ivh /mnt/Packages/telnet-0.17-47.el6.x86_64.rpm
warning: /mnt/Packages/telnet-0.17-47.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ########################################### [100%]
1:telnet ########################################### [100%]
-m 分配内存
-p 监听端口
-d 守护进程
-c 连接数
-u 运行用户
-l 监听ip
实战:使用telnet连接memcache,进行测试
[root@itlaoxin164 ~]# telnet 192.168.1.164 11211
Trying 192.168.1.164...
Connected to 192.168.1.164.
Escape character is '^]'.
set name 4 300 6
mkinge
STORED
get name
VALUE name 4 6
mkinge
END
quit
Connection closed by foreign host.
参数 | 说明 |
---|---|
mkinge | 输入内容 |
get name | get 命令读取缓存数据 |
END | 该标志代表存入成功 |
quit | 退出 |
STORED | # 该标志代表是存入成功 |
set name 4 300 6
#往memcached 缓存中存储一个键值,标志4 ,缓存时间300秒,字符串长度是6个字节
总结
预告:明天我们来分享使用memcache 为mysql加速
以上是关于中间件从青铜到王者第一篇: memcache初相识的主要内容,如果未能解决你的问题,请参考以下文章