分布式缓存 Memcached Linux 系统安装

news2024/12/24 8:38:21

1.Memcached简介

Memcached是一个开源、高性能,将数据分布于内存中并使用key-value存储结构的缓存系统。它通过在内存中缓存数据来减少向数据库的频繁访问连接的次数,可以提高动态、数据库驱动之类网站的运行速度。

Memcached在使用是比较简单的,在操作上基本就类似于操作字典结构的对象一样。分布式缓存Memcached的分布式怎么理解?简单来说就是Memcached通过建立一个系统服务和应用系统完全独立开,两则不是相同的进程。

2.为什么需要用到Memcached?

在搭建服务器架构时如果使用到了集群,那么代理服务器会根据集群中服务器负载均衡分发到一个负载较小的服务器处理请求。就拿“登录”场景来说,第一次用户进行登录成功后在A服务器上将用户信息存储到Session,当用户第二次请求去加载某个页面时,由于负载均衡的调度将请求交给了另一台服务器C来处理,此时的C服务器是并不能访问到A服务器的Session,那么一般的程序逻辑会再一次让你返回登录页面重新进行登录(引发的问题)
  
根据上述引发的问题,实际上我们需要达到一个效果是:

将我们登录存储的用户信息放置到一个共享区域,也就是集群中的每个服务器都能访问的区域。

对于建立这个共享区域,其实就可以通过使用分布式缓存Memcached来解决。

当然还包括另外一个原因,如果统一将信息放到Session存储,对于单机架构的模式的服务器是很消耗内存的。

当然也有特殊的手段实现跨服务器的Seesion访问,但是也会造成很大的性能损耗,是并不推崇的,所以会通过分布式缓存Memcached将应用和缓存隔离开作为单独的服务进程。

通过使用分布式缓存Memcached会将集群中服务器的内存统一使用起来形成一个独立的数据共享区域,加入Memcached后架构参考图如下:
  在这里插入图片描述

3. Memcached 与Redis对比

在这里插入图片描述

4. 下载安装

https://www.runoob.com/memcached/window-install-memcached.html

Memcached 支持许多平台:Linux、FreeBSD、Solaris、Mac OS,也可以安装在Windows上。

4.1 Linux系统

Linux系统安装memcached,首先要先安装libevent库。

sudo apt-get install libevent ibevent-dev  # 自动下载安装(Ubuntu/Debian)

yum install libevent libevent-devel   # 自动下载安装(Redhat/Fedora/Centos)

Ubuntu/Debian

sudo apt-get install memcached

Redhat/Fedora/Centos

yum install memcached

FreeBSD

portmaster databases/memcached

安装完后可以使用 whereis 查看路径:

whereis memcached

如这里的 /usr/local/bin/memcached 目录 。
Memcached命令的运行,进入到 memcached 的安装目录执行 查看帮助命令如下

/usr/local/memcached/bin/memcached -h                     
  • -d是启动一个守护进程;
  • -m是分配给Memcache使用的内存数量,单位是MB;
  • -u是运行Memcache的用户;
  • -l是监听的服务器IP地址,可以有多个地址;
  • -p是设置Memcache监听的端口,,最好是1024以上的端口;
  • -c是最大运行的并发连接数,默认是1024;
  • -P是设置保存Memcache的pid文件。

作为前台程序运行:

/usr/local/memcached/bin/memcached -p 11211 -m 64m -vv

作为后台服务程序运行:

/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 的进程 id:

ps -ef|grep memcached

在这里插入图片描述

第一行的第二个就是进程 id,使用 kill 命令停止进程,就关闭了 memcached 服务。

kill -9 37760

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/385825.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Clip:学习笔记

Clip 文章目录Clip前言一、原理1.1 摘要1.2 引言1.3 方法1.4 实验1.4.1 zero-shot Transfer1.4.2 PROMPT ENGINEERING AND ENSEMBLING1.5 局限性二、总结前言 阅读论文: Learning Transferable Visual Models From Natural Language Supervision CLIP 论文逐段精读…

只需4步,让OKA40i-C开发板的Linux系统拥有中文显示

如果你试着在Linux系统里面输入中文,那么将会有一片乱码呈现在你面前,这是因为Linux系统的默认语言是英文。但是如果可以显示中文的话,那么在使用过程中的便利程度一定会大大提升。今天小编就通过飞凌嵌入式的OKA40i-C开发板来为大家演示让Li…

极狐GitLab DevSecOps 为企业许可证安全合规保驾护航

本文来自: 小马哥 极狐(GitLab) 技术布道师 开源许可证是开源软件的法律武器,是第三方正确使用开源软件的安全合规依据。 根据 Linux 发布的 SBOM 报告显示,98% 的企业都在使用开源软件(中文版报告详情)。随着开源使用…

微电影广告有哪些传播优势?

微电影广告是在基于微电影的模式下发展而来的,是伴随着当下快节奏、碎片化的生活方式而诞生的新兴广告表现形式。微电影广告凭借其具备的独特传播优势以及时代特征成为广大企业主塑造企业品牌形象的主要方式。那么,微电影广告究竟有哪些传播优势&#xf…

Ubuntu22.04安装、配置、美化、软件安装、配置开发环境

Ubuntu22.04安装、配置、美化、软件安装、配置开发环境 一、Ubuntu、Windows11(10)双系统安装 因为ubuntu的安装网上的教程特别多了,所以这里不做赘述,推荐使用小破站这个up主的教程:Windows 和 Ubuntu 双系统从安装到…

计算机系统的基本组成 第一节

一、计算机系统 计算机系统是指:电子数字通用、计算机系统 由硬件和软件两个子系统组成 硬件是保存和运行软件的物质基础 软件是指挥硬件完成预期功能的智力部分 重点: 计算机系统部件 五个 1、数据运算部件:完成对数据的运算处理功能…

Docker 配置WebSSH

1、基于DockerHub Centos镜像 docker pull centos:centos7 2、 Centos镜像存在的一个自身问题:启动后的容器内部无法使用systemctl命令 Failed to get D-Bus connection: Operation not permitted ## docker run -dit eeb6ee3f44bd /bin/bash ## 切勿忘记宿主机防…

【测绘程序设计】——平面坐标转换

测绘工程中经常遇到平面坐标转换——比如,北京54(或西安80)平面坐标转换成CGCS2000平面坐标、工程独立坐标系平面坐标转换成CGCS2000平面坐标等,常用转换模型包括:①三参数法(2平移+1旋转);②四参数法(赫尔默特法,2平移+1旋转+1尺度);③六参数法(仿射变换法,2平移…

00后看完这个直接拿下字节offer,软件测试100+道面试题

软件测试与质量保证-软件测试部分练习题 1单选(2分) 软件测试用例主要由输入数据和_________两部分组成。 A.预期输出结果2.00/2.00 B.测试计划 C.以往测试记录分析 D.测试规则 2单选(2分) 与设计测试用例无关的文档是_________。 A.项目开发计划2.00/2.00 B.源程序 …

Ansys的电磁场分析和系统电路仿真软件Electronics 2023版本下载和安装教程

目录前言一、工具安装二、使用配置总结前言 ANSYS Electromagnetics Suite或ANSYS Electronics Suite是几个功能强大的程序的集合,用于仿真系统的电磁。ANSYS电磁套件还公开了行业分支机构和专业目录,并有标志。例如,在设备中,机…

AntDB“超融合+流式实时数仓”,谈传统数据库与流计算的有机融合

(一) 前言 据统计,在信息化时代的今天,人们一天所接触到的信息量,是古人一辈子所能接收到的信息量的总和。当今社会中除了信息量“多”以外,人们对信息处理的“效率”和“速度”的要求也越来越高。譬如&am…

Windows11如何打开ie浏览器

目录1.背景:2.方法一:在 edge 中配置使用 ie 模式3.方法二:通过 Internet 选项 打开1.背景: 昨天电脑自动从win10升级为win11了,突然发现电脑找不到ie浏览器了,打开全都是直接跳转到 edge 浏览器&#xff0…

Linux下使用C语言实现简单的聊天室程序

本文章介绍一种基于Linux使用C语言实现简单的局域网聊天室程序的方法,支持消息群发,历史数据查询,好友列表查看,好友上线下线提醒等功能。聊天界面如下图所示:下面将按步骤介绍该系统的设计实现,首先在linu…

【JavaWeb】HTML常用标签

HTML标签结构 HTML语言主要都是由标签构成的。 标签名 在 <> 中 如<body> 标签大部分成对出现&#xff0c;代表开始和结束 如 <body>标签中的内容</body> 少部分单个出现&#xff0c;叫单标签 </br> 代表换行 标签中可以加属性&#xff0c;多个…

Oracle使用序列触发器实现主键id自动增长

记录一下oracle中的字段自增问题 在mysql中我们可以使用auto_increment来实现自动增长功能 而在oracle主键没有自动增长类型&#xff0c;所以一般使用序列产生的值作为某张表的主键,实现主键自增。 序列是oracle用来生产一组等间隔的数值。序列是递增&#xff0c;而且连续的。…

The JSON value could not be converted to System.DateTime

项目场景&#xff1a; 我们在使用Asp.Net Core WebApi和前端进行交互时&#xff0c;经常会因为提交数据中有时间自动而导致服务端接收不到数据&#xff0c;前端报错的问题。 问题描述 在开发中经常是后端同学把WebApi开发完毕后&#xff0c;然后前端同学进行接口对接开发。理…

Java:Java vs Kotlin–Android应用程序开发的最佳语言?

在移动应用技术领域&#xff0c;Java和Kotlin是最流行的搜索词之一。如果你也在寻找Java与Kotlin框架的比较&#xff0c;那么这篇文章就是为你准备的!让我们来全面了解一下这两种技术之间的区别。编程语言的定义Java的工作原理&#xff1a;Java的工作原理是“编写一次&#xff…

前端整理 —— javascript 2

1. generator 详细介绍 generator 介绍 generator 是 ES6 提供的一种异步编程解决方案&#xff0c;在语法上&#xff0c;可以把它理解为一个状态机&#xff0c;内部封装了多种状态。执行generator&#xff0c;会生成返回一个遍历器对象。返回的遍历器对象&#xff0c;可以依次…

软考中级-结构化开发

1 系统设计的基本原理&#xff08;1&#xff09;抽象&#xff08;2&#xff09;信息隐蔽&#xff08;3&#xff09;模块化将待开发软件分解为多个可独立开发、测试的模块&#xff0c;分而治之&#xff0c;最后组装。&#xff08;4&#xff09;模块独立每个模块完成一个相对独立…

世界文明的脉络

人类文明大体上可分为农耕文明、海洋文明和游牧文明三大类别&#xff0c;文明的标志一般是文字、青铜器、城市以及礼仪性建筑等要素。据此&#xff0c;史学家目前已发现了巴比伦文明、埃及文明、印度文明、华夏文明、希腊文明和波斯文明六种主要文明&#xff0c;其中前四种文明…