Memcached分布式内存对象数据库

一 Memcached 概念

  Memcached 是一个高性能的分布式内存对象缓存系统,用于动态 Web 应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。

二 在架构中的位置

 Memcached 处于前端或中间件后,数据库前(在中间件和数据库之间)。

三 工作过程

   1.客户端发送请求进行数据查询,给请求首先发往 memcached。如果 memcached 里有客户查询的相关数据,则不经过数据库,将数据直接返回给客户端。

   2.如果 memcached 内没有相关数据,将请求发送给数据库。数据将查询结果返回给客户端,同时将数据缓存一份到 memcached 中。

   3.每次更新数据库的同时更新 Memcache 中的数据库。确保数据信息一致性。

   4.如果 memcached 中的缓存空间已经用完,将采用 LRU(最近最少使用算法)将过期数据删除,空出的内存空间用以存储新的缓存数据

四 memcached 特点

 1.采用 hashmap 的方式将数据缓存在内存中,一旦断电,则所有数据丢失

 2.基于 libevend 库,可以实现确保即使服务器端的链接数增加也能发挥很好的性能。Memcached 利用这个库进行异步事件处理。

 3.用 LRU 算法的内存管理方式

 4.互不通信的分布式。memcached 集群中各节点间互不通信,互相独立

五 Memcached 的安装与启动

 1.确保虚拟机可以连接至服务器:ping 172.16.100.1

新加一个网卡。改为NAT模式。网卡设置为自动获取,重新激活一次网卡。此时会自动获取IP

2在/etc/yum.repos.d下新建一个yum源

#vim yi.repo

[m]

name=xxx

baseurl=http://172.16.100.1/epel/$releasever/$basearch

enabled=1

gpgcheck=0

4.安装 memcached

 #yum --enablerepo=yi install memcached -y

 5.memcached 的启动

 1)systemctl start memcached

 2)memcached -d -m 256 -u root -p 11211 -c 1024 -P /tmp/memcached.pid

注:-d 以守护进程的方式启动

    -m 指定 memcached 用于缓存的内存空间大小

    -u 指定以哪个用户的身份运行 memcached

    -p 指定 memcached 的服务监听端口,-p 代表 tcp

    -c 指定 memcached 的并发连接数

    -P 指定 memcached 的 pid 文件存放位置

 6.连接到 memcached

 安装 telnet:yum install telnet -y

 连接:telnet localhost 11211

注:连接到 memcached 服务器后,使用命令 stats 来查看服务器状态在显示结果中STAT limit_maxbytes 268435456显示的是memcached服务器当前用于缓存数据的内存空间大小,该值可在启动 memcached 时指定退出 telnet:quit

六 memcached 的 PHP 扩展

 1.安装软件:yum --enablerepo=yi install libmemcached php php-mbstring php-pear php-pecl-memcached -y

 2.确认 php 中已经存在 memcached 模块

 #vim /etc/php.d/z-memcached.ini

 看 extension=memcached.so 是否存在

注:在软件安装正确的条件下,如果上述文件不存在,或文件内容中没有extension=memcached.so 字段,可手动编辑

 3.安装 apache:yum install httpd -y

 创建 php 主页:

#cd /var/www/html

  #echo "<?php phpinfo() ?>" > index.php

  #chmod a+x index.php

 启动 apache:#systemctl restart httpd

 4.在客户端使用浏览器浏览:elinks http://http 服务器 IP

 显示内容中,如果出现 memcached 字段,则代表 php 扩展成功。或者直接真实机浏览器中http://192.168.20.129

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

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

相关文章

Gitea CORS Access-Control-Allow-Origin 的问题

最近我们在想使用我们提供的代码库进行元数据提供的时候&#xff0c;启动的服务报 CORS 问题。 如果你的 Gitea 服务器是直接暴露给外部使用的话&#xff0c;可以在 Gitea 的配置文件中添加下面的配置&#xff1a; [cors] ENABLED true ALLOW_DOMAIN *在完成上面的…

基于nodejs+vue网购平台管理系统python-flask-django-php

本篇论文对网购平台管理系统的需求分析、功能设计、系统设计进行了较为详尽的阐述&#xff0c;并对系统的整体设计进行了阐述&#xff0c;并对各功能的实现和主要功能进行了说明&#xff0c;并附上了相应的操作界面图。 前端技术&#xff1a;nodejsvueelementui, Express 框架…

Qt 作业 24/3/26

1、实现闹钟 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTime> #include <QLineEdit>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent …

Generating Permutations全排列

Problem generating all permutations of the numbers 1, 2, . . . , n. The first algorithm Idea 1[all the permutations of the numbers 2,3,…,n]&#xff0c; 2[all the permutations of the numbers 1,3,…,n]&#xff0c; ……&#xff0c; n[all the permutations of …

【Mybatis 基础】增删改查(@Insert, @Delete, @Update, @Select)

Mybatis Insert Delete Update Select Mybatis用法基础操作 - 删除delete 传参SpringbootMybatisCrudApplicationTests 测试类删除预编译SQL 基础操作 - 插入Insert 插入SpringbootMybatisCrudApplicationTests 测试类插入对象主键返回 基础操作 - 更新UPDATE 更新SpringbootMy…

k8s系列之十七 Istio中的服务治理

删除前面配置的目的地规则 [rootk8s-master ~]# kubectl delete destinationrule details destinationrule.networking.istio.io "details" deleted [rootk8s-master ~]# kubectl delete destinationrule productpage destinationrule.networking.istio.io "pr…

pdfjs 实现给定pdf数据切片高亮并且跳转

pdfjs 实现给定pdf数据切片高亮并且跳转 pdfjs 类的改写基本展示需求的实现高亮功能的实现查询功能分析切片数据处理 pdfjs 类的改写 需求&#xff1a; pdf文件被解析成多个分段&#xff0c;每个分段需要能够展示&#xff0c;并且通过点击分段实现源pdf内容的高亮以及跳转需求…

视频声音生成字幕 pr生成视频字幕 以及字幕乱码的解决

目录 目录 1、首先把要生成字幕的视频拖入以创建序列 2、点击工具栏的 窗口 选择 文本 3、选择字幕下的 转录序列 4、选择输出的语言&#xff08;主要看视频声音说的是啥语言&#xff09; 5、音轨 选择 音频1​编辑 6、点击转录 7、等待转录文本 8、点击创建说明性字幕按…

论文阅读笔记——Rethinking Pointer Reasoning in Symbolic Execution

文章目录 前言Rethinking Pointer Reasoning in Symbolic Execution12.1、基本情况概述12.2、摘要12.3、引言12.4、方法12.4.1、基本版本12.4.1.1、内存加载和存储12.4.1.2、状态合并 12.4.2、改进12.4.2.1、地址范围选择12.4.2.2、内存清理12.4.2.3、符号化的未初始化内存12.4…

卷起来——高级数据分析师

要成为一名高级数据分析师&#xff0c;需要掌握一系列的技能&#xff0c;包括数据处理、统计分析、机器学习、数据可视化以及业务理解等&#xff0c;喜欢或者想往这方面发展的童鞋们&#xff0c;卷起来&#xff0c;点击以下链接中的链接&#xff0c;备注"分析"进群交…

Clip Converter - 视频在线下载方法

Clip Converter - 视频在线下载方法 1. Video URL to Download2. Continue3. StartReferences YT to MP4 & MP3 Converter! https://www.clipconverter.cc/ Clip Converter is a free online media conversion application, which allows you to reocord, convert and do…

YOLOv8改进 | 主干篇 | 修复官方去除掉PP-HGNetV2的通道缩放功能(轻量又涨点,全网独家整理)

一、本文介绍 本文给大家带来的改进机制是大家在跑RT-DETR提供的HGNetV2时的一个通道缩放功能&#xff08;官方在前几个版本去除掉的一个功能&#xff09;&#xff0c;其中HGNetV2当我们将其集成在YOLOv8n的模型上作为特征提取主干的时候参数量仅为230W 计算量为6.7GFLOPs该网…

无人直播(视频推流)

环境搭建 我这里采用的是ffmpeg来进行推流直播 yum -y install wgetwget --no-check-certificate https://www.johnvansickle.com/ffmpeg/old-releases/ffmpeg-4.0.3-64bit-static.tar.xztar -xJf ffmpeg-4.0.3-64bit-static.tar.xzcd ffmpeg-4.0.3-64bit-staticmv ffmpeg /u…

kubernetes-networkpolicies网络策略问题

kubernetes-networkpolicies网络策略问题 问题描述 重点重点重点&#xff0c;查看我的博客CKA考题&#xff0c;里面能找到解决方法 1.部署prometheus监控的时候&#xff0c;都部署成功&#xff0c;但是web访问503-504超时 2.添加ingress的时候也是访问不到&#xff0c;其他命…

寻找最大值最小值

Problem Finding both the minimum and maximum in an array of integers A[1..n] and assume for simplicity that n is a power of 2 A straightforward algorithm 1. x←A[1]; y←A[1] 2. for i←2 to n 3. if A[i] < x then x←A[i] 4. if A[i] > y then y←A[i…

gin语言基础学习--会话控制(下)

练习 模拟实现权限验证中间件 有2个路由&#xff0c;/cookie和/home/cookie用于设置cookiehome是访问查看信息的请求在请求home之前&#xff0c;先跑中间件代码&#xff0c;检验是否存在cookie 访问home&#xff0c;会显示错误&#xff0c;因为权限校验未通过 package mainim…

centos创建svn库步骤

1.切换root用户 1、设置root用户的密码&#xff1a; sudo passwd root 2、切换到root用户权限 su 3、切换回个人用户权限 exit 2.用root用户执行yum install -y subversion 3.创建文件夹mkdir -p /data/svn/repository 4.创建SVN 版本库 5.输入命令&#xff1a; svnadmin creat…

IDEA连接github.com连接超时 Invalid authentication data. connect time out 的问题解决(亲测有效)

问题&#xff1a; IDEA连接github.com连接超时 Invalid authentication data. connect time out 解决方案&#xff08;亲测有效&#xff09;&#xff1a; 修改host文件&#xff1a;打开 C:\Windows\System32\drivers\etc\hosts&#xff0c;文件末尾添加如下内容&#xff1a; …

OriginBot智能机器人开源套件

详情可参见&#xff1a;OriginBot智能机器人开源套件——支持ROS2/TogetherROS&#xff0c;算力强劲&#xff0c;配套古月居定制课程 (guyuehome.com) OriginBot智能机器人开源套件 最新消息&#xff1a;OriginBot V2.1.0版本正式发布&#xff0c;新增车牌识别&#xff0c;点击…

Vue3基础笔记(2)事件

一.事件处理 1.内联事件处理器 <button v-on:click"count">count1</button> 直接将事件以表达式的方式书写~ 每次单击可以完成自增1的操作~ 2.方法事件处理器 <button click"addcount(啦啦啦~)">count2</button> 如上&…