企业架构LNMP学习笔记45

失效机制(了解)

1)如果key过期了,value会及时删除么?空间会及时清理么?

2)如果分配的存储空间,写满了,还允许写么?

-m可以配置内存大小。

memcached 内部不会监视记录是否过期,而是在 get时查看记录的时间戳,检查记录是否过期。这种技术被称为 lazy(惰性)expiration。因此,memcached 不会在过期监视上耗费 CPU 时间比如php的里session机制 懒惰机制 php垃圾回收机制 gc回收 python 变量垃圾回收机制

编程语言中,变量分配 栈空间(变量名称) 堆空间(变量值)

memcached1.4.25之后 就不是懒惰机制了。

当前时间和存储时间,这个差值来判断是否过期。

LRU:

memcached 会优先使用已超时的记录的空间,但即使如此,也会发生追加新记录时空间不足的情况,此时就要使用名为 Least Recently Used(LRU)机制来分配空间。顾名思义,这是删除“最近最少使用的记录的机制。因此,当 memcached 的内存空间不足时,就从最近未被使用的记录中搜索,并将其空间分配给新的记录。从缓存的实用角度来看,该模型十分理想

不过,有些情况下 LRU 机制反倒会造成麻烦。memcached 启动时通过“­M”参数可以禁止 LRU

 不够存的情况,加大缓存和加大内存。

单机可以增加到768G的内存。服务器就是这个样子。散热好。内存条、金手指。

正常的服务器都是32G内存。

需要加内存,-m进行添加。

php使用memcached:

php扩展安装:

在LNMP架构中,如果需要使用到memcached。首先需要安装对应的扩展,php7以上需要安装memcached扩展。

在实际的使用过程中,我们不会直接使用set和get命令直接操作memcached。

官方扩展地址:http://pecl.php.net/

1)上传PHP扩展源码包:

需要在web服务器的上安装,server01和server03

memcached-3.1.3.tgz php扩展 依赖libmemcached1.x以上版本。

yum安装的libmemcached依赖版本太低,不能够满足php扩展的依赖需要,需要手动源码编译安装libmemcached。

2)解压编译安装:

# 先解决libmemcached的依赖
yum install -y libmemcached-devel# 编译安装php的memcached扩展
tar -zxvf memcached-3.2.0.tgz
cd memcached-3.2.0.tgz
#扩展源码包和php关联生成configure文件  
#如果执行找不到phpize,说明之前没有给php安装目录bin目录配置环境变量,重新配置即可
phpize
.configure --disable-memcached-sasl
make && make install

 找不到phpize,配置环境变量的方法。

老师在安装libmemcached的版本太低了。

如果php-memcached的版本是3.x,那么libmemcached的版本要1.x版本或者更高。

我这边检查了下,我这边的版本:

[root@server01 soft]# rpm -qa libmemcached-devel
libmemcached-devel-1.0.16-5.el7.x86_64

编辑下php.ini

vim /usr/local/php/etc/php.ini

我这边还遇到一个问题。发现最新的memcached-3.2.0版本是有问题的。

重新安装老师的版本memcached-3.1.3就正常了。那先老师的版本走,暂时不用最新的版本。

那这个地方可以写一个脚本:

#!/bin/bash
#安装memcached的php扩展
#1、解决依赖
tar xvf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18
./configure --prefix=/usr/local/libmemcached && make && make install
#2、安装编译php-memcached
cd /root/soft
tar xvf memcached-3.1.3.tgz
cd memcached-3.1.3
#注意一定php是已经配置环境变量的/usr/local/php/bin
phpize
./configure --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl&& make && make install
#配置php.ini
sed -i "868c extension=memcached.so" /usr/local/php/etc/php.ini

在server03的机器上通过脚本把memcached的版本进行了安装。

检测扩展:

方法一:通过php-fpm调用查看php所加载的依赖模块:

php -m |grep memcached

方法二:通过web页面访问phpinfo:

server01和server02两台机器都能在phpinfo页面上看到memcached的模块信息。 

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

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

相关文章

Cesium 地球(2)-瓦片创建

Cesium 地球(2)-瓦片创建 QuadtreePrimitive代码执行4个步骤: step1: update()step2: beginFrame()step3: render()step4: endFrame() 但并不是瓦片的创建步骤。 1、创建 QuadtreeTile 基于 step3: render() step3: render()┖ selectTilesForRendering()在 selectTilesFo…

laravel框架 - 安装初步使用学习 composer安装

一、什么是laravel框架 Laravel框架可以开发各种不同类型的项目,内容管理系统(Content Management System,CMS)是一种比较典型的项目,常见的网站类型(如门户、新闻、博客、文章等)都可以利用CM…

Python解析MDX词典数据并保存到Excel

点击上方“Python爬虫与数据挖掘”,进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 察纳雅言,深追先帝遗诏,臣不胜受恩感激。 原始数据和处理结果: https://gitcode.net/as604049322/blog_data/-/tree…

【Unity插件】实现多人在线游戏——Mirror插件的使用介绍

文章目录 前言导入Mirror插件 简单介绍一、RPC调用二、错误注意 基本使用一、创建场景的网络管理器二、创建一个玩家三、添加玩家初始生成位置四、玩家控制五、同步摄像机六、同步不同角色的名字和颜色修改七、同步动画八、同步子弹方法一方法二 九、聊天功能十、场景同步切换十…

现代循环神经网络-门控循环单元(GRU)

理论 门控隐状态 门控循环单元与普通的循环神经网络之间的关键区别在于: 前者支持隐状态的门控。 这意味着模型有专门的机制来确定应该何时更新隐状态, 以及应该何时重置隐状态。 这些机制是可学习的,并且能够解决了上面列出的问题。 例如&…

双目立体视觉

#理想模型图 其中: b 为基线,即两个相机原点之间的距离 ; fl和fr 分别为左右相机的焦距,理想的双目相机flfrf ; cl和cr 分别为左右相机的光心,理想的双目相机clcr ; xl和xr 分别为空间中的一点…

2023/09/15 qt day1

代码实现图形化界面 #include "denglu.h" #include "ui_denglu.h" #include <QDebug> #include <QIcon> #include <QLabel> #include <QLineEdit> #include <QPushButton> denglu::denglu(QWidget *parent): QMainWindow(p…

【AI】机器学习——支持向量机(非线性及分析)

5. 支持向量机(线性SVM) 文章目录 5.4 非线性可分SVM5.4.1 非线性可分问题处理思路核技巧核函数特点 核函数作用于SVM 5.4.2 正定核函数由 K ( x , z ) K(x,z) K(x,z) 构造 H \mathcal{H} H 空间步骤 常用核函数 5.5 SVM参数求解算法5.6 SVM与线性模型关系 5.4 非线性可分SVM …

聊天机器人

收集窗帘相关的数据 可以用gpt生成&#xff0c;也可以用爬虫 图形化界面 gradio 向量数据库 faiss python代码 import gradio as gr import random import timefrom typing import Listfrom langchain.embeddings.openai import OpenAIEmbeddings from langchain.vectorstor…

揭秘:WhatsApp的注册策略

WhatsApp账号的注册方式可以分为两种&#xff1a;实体卡注册和虚拟卡注册。实体卡注册是指使用个人手机卡完成注册&#xff0c;而虚拟卡注册则通过前面提到的对接平台来完成的。 账号注册问题一直是导致WhatsApp账号永久封禁的主要原因。由于WhatsApp广泛为群发获客等用途之一…

设计方法编写测试用例---思路分析

测一四年我在YX公司带测试团队&#xff0c;一个用例评审的会议上&#xff0c;一不小心超常发挥&#xff0c;结果卡在了一个用例设计方法上&#xff0c;印象非常深刻&#xff0c;当时的业务场景是支付方式的选择和优惠方案。 在后来的工作中&#xff0c;也曾几次遇到需要选择合…

Docker 安装

Docker 官网&#xff1a;Docker: Accelerated Container Application Development Docker Hub官网&#xff1a;https://hub.docker.com/ 前提说明 CentOS Docker 安装 前提条件 目前&#xff0c;CentOS 仅发行版本中的内核支持 Docker。Docker 运行在CentOS 7 (64-bit)上&…

软件定制开发具有以下特点|APP搭建|小程序

软件定制开发具有以下特点|APP定制|小程序 一、快速响应用户需求 软件定制开发的优势在于&#xff0c;它可以快速响应用户的需求&#xff0c;因为它是在现有软件的基础上进行功能定制、界面定制、服务定制等改造&#xff0c;而不是从零开始进行重新设计与开发&#xff0c;所以…

vscode快捷键大全中英文

vscode快捷键大全中英文 源文件下载链接

卷运维不如卷网络安全

最近发现很多从事运维的选择了辞职&#xff0c;重新规划自己的职业发展方向。运维工程师这个岗位在IT行业里面确实是处于最底层的&#xff0c;不管什么环节出现问题&#xff0c;基本都是运维背锅。背锅也就罢了&#xff0c;薪资水平也比不上别的岗位。 一般运维的薪资水平大多数…

根据商品ID获得淘宝商品详情, 获得淘宝商品详情高级版,获得淘宝商品评论, 获得淘宝商品快递费用 ,获得淘口令真实,批量获得淘宝商品上下架时间)

参数说明 通用参数说明 参数不要乱传&#xff0c;否则不管成功失败都会扣费url说明 https://api-gw.…….cn/平台/API类型/ 平台&#xff1a;淘宝&#xff0c;京东等&#xff0c; API类型:[item_search,item_get,item_search_shop等]version:API版本key:调用key,测试key:test_…

Google Sign In error 12500

接入Google登录遇到12500报错&#xff0c;网上查到的原因是后台配置包的签名哈希值不正确&#xff0c;但是我们的应用并没有使用firebase管理&#xff0c;尝试多次之后终于找到了解决方法&#xff1a;在开发者后台应用管理界面&#xff0c;创建一个新的凭据【类型为Andorid】&a…

外国电影字幕翻译,怎么把英文字幕翻译成中文字幕?

我们知道&#xff0c;在国内外文化交流中&#xff0c;影视字幕翻译扮演着重要的角色&#xff0c;不仅让观众领略到异国风情&#xff0c;更能达到文化传播的功能。那么&#xff0c;针对外国电影字幕翻译&#xff0c;怎么把英文字幕翻译成中文字幕呢&#xff0c;有什么好的技巧呢…

特斯拉Dojo超算:AI训练平台的自动驾驶与通用人工智能之关键

特斯拉公开Dojo超算架构细节&#xff0c;AI训练算力平台成为其自动驾驶与通用人工智能布局的关键一环 在近日举行的Hot Chips 34会议上&#xff0c;特斯拉披露了其自主研发的AI超算Dojo的详细信息。Dojo是一个可定制的超级计算机&#xff0c;从芯片到系统全部由特斯拉自主设计…

RT Preempt linux学习笔记

RT Preempt linux学习笔记 一、实时操作系统&#xff08;Realtime Operating System&#xff09; 1. 什么是实时操作系统 A real-time system is a time-bound system which has well-defined, fixed time constraints. Processing must be done within the defined constra…