当前位置: 首页 > news >正文

分布式缓存 Memcached Linux 系统安装

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.lryc.cn/news/26897.html

相关文章:

  • 【数据结构】链表:看我如何顺藤摸瓜
  • linux shell 入门学习笔记18 函数开发
  • 如何最巧妙回答HR面试“送命题”:你为什么离开上家公司?
  • 注意力机制详解系列(五):分支与时间注意力机制
  • 创宇盾重保经验分享,看政府、央企如何防护?
  • 软件测试面试汇总
  • 空指针,野指针
  • Mysql Nested-Loop Join算法和MRR
  • Spark 广播/累加
  • 飞天云动,站在下一个商业时代的门口
  • 上海分时电价机制调整对储能项目的影响分析
  • 产品新人如何快速上手工作
  • Linux: ARM GIC仅中断CPU 0问题分析
  • 第20篇:Java运算符全面总结(系列二)
  • OpenCV4.x图像处理实例-OpenCV两小时快速入门(基于Python)
  • 【Git】Mac忽略.DS_Store文件
  • 12.2 基于Django的服务器信息查看应用(CPU信息)
  • 【软件测试】接口测试总结
  • 代码随想录算法训练营第52天 || 300.最长递增子序列 || 674. 最长连续递增序列 || 718. 最长重复子数组
  • gitblit 安装使用
  • 使用 TensorFlow、Keras-OCR 和 OpenCV 从技术图纸中获取信息
  • ESP32设备驱动-GUVA-S12SD紫外线检测传感器驱动
  • WIN7下 program file 权限不足?咋整?!!
  • 119.(leaflet篇)文字碰撞
  • cuda编程以及GPU基本知识
  • Python 机器学习/深度学习/算法专栏 - 导读目录
  • Springboot怎么实现restfult风格Api接口
  • Jetpack Compose 深入探索系列六:Compose runtime 高级用例
  • 23.3.2 Codeforces Round #834 (Div. 3) A~E
  • 一次失败的面试经历:我只想找个工作,你却用面试题羞辱我!