【中间件从青铜到王者】第一篇: memcache初相识

举报
互联网老辛 发表于 2021/06/09 00:00:50 2021/06/09
【摘要】 大家好,我是互联网老辛,这是我参与更文挑战的第1天; 今天主要来分享关于memcache的介绍和部署,以及简单的使用,每天一篇,让你系统学习中间件 memcache的介绍 memcahce 被称为分布式的高速缓存系统,在一些大型的,需要频繁被访问的数据库网站上,可以有效提升访问速度。 目前应用场景有两类: 作为数据库的前段缓存: Memcached(内存是易...

大家好,我是互联网老辛,这是我参与更文挑战的第1天;

今天主要来分享关于memcache的介绍和部署,以及简单的使用,每天一篇,让你系统学习中间件

memcache的介绍

memcahce 被称为分布式的高速缓存系统,在一些大型的,需要频繁被访问的数据库网站上,可以有效提升访问速度。

目前应用场景有两类:

  1. 作为数据库的前段缓存:
    Memcached(内存是易失性存储), redis, memcachedb, HANA

  2. 作为session服务器

工作流程

image.png

在有缓存的情况下,请求经过web服务器到达memcache,查看,如果有缓存直接返回结果,不会去访问数据库。

image.png

面试题: 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 #检查系统编译环境

  
 
  • 1
  • 2
  • 3

安装

[root@itlaoxin164 libevent-2.1.12-stable]# make  -j  4 

[root@itlaoxin164 libevent-2.1.12-stable]# make install  #安装

  
 
  • 1
  • 2
  • 3

查看已经安装的文件:

[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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

启动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


  
 
  • 1
  • 2
  • 3
  • 4

参数的介绍

参数 作用
-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 
  
 
  • 1
  • 2
  • 3

测试,连接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%]


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

-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.

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
参数 说明
mkinge 输入内容
get name get 命令读取缓存数据
END 该标志代表存入成功
quit 退出
STORED # 该标志代表是存入成功

set name 4 300 6
#往memcached 缓存中存储一个键值,标志4 ,缓存时间300秒,字符串长度是6个字节

总结

预告:明天我们来分享使用memcache 为MySQL加速

文章来源: zmedu.blog.csdn.net,作者:互联网老辛,版权归原作者所有,如需转载,请联系作者。

原文链接:zmedu.blog.csdn.net/article/details/117464661

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。