千家信息网

Linux系统Memcached服务该如何理解

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,本篇文章为大家展示了Linux系统Memcached服务该如何理解,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Linux系统Memcached服务什么是Me
千家信息网最后更新 2025年12月01日Linux系统Memcached服务该如何理解

本篇文章为大家展示了Linux系统Memcached服务该如何理解,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

Linux系统Memcached服务
什么是Memcached?

Memcached是一个免费开源的、高性能的、具有分布式内存对象缓存系统,它通过减轻数据库负载来提高WEB的访问性能,Memcached是服务端的主程序,这些缓存一般是用来保存一些经常存取的对象或数据(比如浏览器会缓存常访问的网页缓存一样),最终用户通过请求缓存数据提高访问体验。

Memcached是一种内存缓存,把常存取的对象或数据缓存在内存中,内存中的缓存的这些数据通过API的方式被存取,数据就像一张巨大的HASH表,以key-value对的方式存在。

Memcache工作流程

1、检查客户端请求的数据是否在Memcache中存在,如果存在,直接把相关数据返回,不再对数据进行任何操作

2、如果数据不在Memcache中,会去数据库进行查询,把从数据库中获取的数据返回给客户端,同时将数据缓存到Memcache中

3、数据库更新(更新或删除数据)的同时也会更新Memcache中的数据,从而保持数据一致

工作逻辑图如下:

4、如果分配给Memcache的内存使用完,会使用LRU(最近最少使用)和过期策略,失效的数据就会被替换掉,然后替换掉最近未使用的数据

Memcache的特点

1、协议简单

使用基于文本行的协议,能直接通过telnet在Memcached服务器上存取数据,实现比较简单

2、基于Libevent的事件处理

libevent是基于C开发的程序库,Memcached利用这个库进行异步事件处理

3、内置内存管理方式

Memcached有一套自己的管理内存方式,而且非常高效,所有数据都保存在Memcached内置的内存中,当存入的数据占满空间时,会使用LRU算法来清除不使用的缓存数据,从而来重用过期数据的内存空间,但重启服务器数据将丢失

4、各Memcached服务器间互不通信具有分存式特点

各个Memcached服务器之间互不通信,都是独立存取数据,通过客户端的设计让其具有分存式特点,支持大量缓存和大规模应用

Memcached的安装

Memcached的安装很简单,首先需要下载libevent与Memcached软件,下载过程就不再介绍了

安装libevent命令如下(也可直接Yum安装):

tar zxf libevent-1.4.13-stable.tar.gz

cd libevent-1.4.13-stable

./configure

make && make install

安装Memcached命令如下:

tar zxf memcached-1.4.20.tar.gz

cd memcached-1.4.20

./configure

make && make install

启动Memcached

/usr/local/bin/memcached -p 11211 -u root -c 1024 -d

##-p 指定端口11211 -c 最大并发 -d 后台模式

如果出现报错,提示找不到libevent-1.4.so.xx文件,解决方法如下

echo "/usr/local/lib">>/etc/ld.so.conf

ldconfig

[root@~]# lsof -i :11211

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

memcached 15744 root 26u IPv4 25499 0t0 TCP *:memcache (LISTEN)

memcached 15744 root 27u IPv6 25500 0t0 TCP *:memcache (LISTEN)

memcached 15744 root 28u IPv4 25503 0t0 UDP *:memcache

memcached 15744 root 29u IPv4 25503 0t0 UDP *:memcache

memcached 15744 root 30u IPv4 25503 0t0 UDP *:memcache

memcached 15744 root 31u IPv4 25503 0t0 UDP *:memcache

配置Memcached服务

通过NC的方式添加数据

[root@~]# printf "set key001 0 0 10\r\ntest123456\r\n"|nc 127.0.0.1 11211

#添加数据,10个字节数,后面要一致,否则添加不成功

STORED

[root@~]# printf "get key001\r\n"|nc 127.0.0.1 11211

#查询数据

VALUE key001 0 10

test123456

END

[root@~]# printf "delete key001\r\n"|nc 127.0.0.1 11211

#删除数据

DELETED

[root@~]# printf "get key001\r\n"|nc 127.0.0.1 11211

END

通过telnet 方式添加数据

[root@LVS-2 ~]# telnet 127.0.0.1 11211

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is '^]'.

set key 0 0 10

#添加数据

test654321

STORED

get key

#查询数据

VALUE key 0 10

test654321

END

delete key

#删除数据

DELETED

get key

上述内容就是Linux系统Memcached服务该如何理解,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

数据 缓存 服务 内存 方式 存取 系统 数据库 服务器 客户 对象 特点 更新 查询 一致 事件 内容 同时 命令 客户端 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海申通吉网络技术有限公司 盈信世佳网络技术有限公司 蒲公英为什么连接服务器出错了 违反网络安全法会不会 长沙元神纪互联网科技有限公司 上海民主评议软件开发系统 网络安全简单又漂亮画画 网络安全法行政罚款5万 小学网络安全的黑板报图片 在家软件开发 net 怎样成立一个软件开发公司 睿迅网络技术 mysql数据库ip 数据库常用的数据模型 数据库bit取值 临汾软件开发招聘信息 网络技术专业有哪些岗位 数据库课程设计10万行数据 网络安全监控岗年终总结 设计一套确保网络安全的方案 哪所学校网络安全 2017网络安全法考试 大智慧数据库解压 云盘在服务器上没有生效 大学生身边有哪些网络安全隐患 网状型数据库管理系统英文简称 亲子活动网络安全一年级手抄报 软件开发模型的种类有() 工业园区信息化软件开发用户体验 网络技术专科生可以考研吗
0