Memcache简介与运维

        开源、高性能、高并发的分布式内存缓存系统。

作用

        缓存关系型数据库的结果,减少数据库自身访问的次数。

常见内存缓存服务软件对比

memcache                              纯内存

redis、memcachedb               可持久化存储,同时会使用磁盘存

常见工作流程

        数据被缓存在事先分配的memcached管理的内存中,可通过API或命令方式存取内存中缓存的这些数据,每条数据都是以key-value键值对形式存在。浏览器优先访问Memcached缓存,如果没有采取读取数据库。

memcache在企业中的应用场景

1、作为数据库的查询数据缓存;

2、作为集群节点的session会话共享存储,即把客户端用户请求多个前端应用服务器集群产生session会话信息统一存储到一个memcached缓存中。

memcached协议简单,采用基于文本行协议,能通过telnet/nc 等命令直接操作。

支持分布式集群部署

        分布式memcached集群的不同服务之间是互不通信的每个节点都是独立存取数据的,通过对web应用端的程序设计或通过支持hash算法的负载均衡软件,可以让memcached支持海量分布式缓存集群应用。

工作原理

        C/S模式,在服务器端启动memcached服务守护进程,可以指定监听服务器的ip地址,端口号,并发访问连接数及分配的内存等参数来处理客户端的请求。

基本管理

启动:memcached -d -p 11211 -u memcache -m 64 -c 1024 -P /tmp/memcached.pid

相关参数选项介绍
-d 启动一个守护进程
-p 设置memcaced监听的端口号
-u 设置启动memcached进程的用户
-m 分配给memcached使用内存的大小,单位MB
-c 最大允许的并发连接数,默认1024
-l 设置监听的服务器ip,可以理解为绑定的网卡,如果设置127.0.0.1,则只能本机连接,设置本机对外网卡的ip者都能连。
-P 设置保存memcached的pid文件路径。

启动多实例:使用不同的端口号即可。

连接memcached

telnet IP 11211

memcached命令语法

(0)quit 退出memcache
(1)set
set key flags exptime bytes [noreply]
value
flags 可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息
exptime 缓存时间,单位是秒,0表示永远
bytes 缓存中存储的字节数
noreply 告知服务不需要返回数据
返回结果:stored、errorset userId 0 0 5
12345
STORED(2)add(用于添加不存在的键,如果存在,不改变键值)
用法和set相同
(3)replace(替换已经存在的键值,如果不存在,替换失败)
语法和set相同
(4)append  向后追加(用于对已存在的键追加值)
语法和set相同
(5)prepend 向前追加(用于已存在的键)
(6)cas (check and set) 用于执行一个检查并设置的操作,用于已存在键
cas key flags exptime bytes  unique_cas_token【noreply】
valueset c 0 900 9  
memcached
STORED
gets c
VALUE c 0 9 6 //6位token值
memcached
END
cas c 0 900 5 6
abcde
STORED
get c
VALUE c 0 5
abcde
END
(7)get  用于查看,可跟多个键
set userId 0 0 5
STORED
get userId
VALUE userId 0 5
END
(8)gets  可以得到cas需要的token值
gets userId
VALUE userId 0 5 4
12345
END
(9)delete key
(10)incr key 1   key的value值加1
(11)decr key 1   key的value值减1
(12)stats 显示当前memcache的统计数据
(13)flush_all  清空所有键值对

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

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

相关文章

idea使用docker-compose发布应用程序

非常重要的话说在前头 idea要想使用docker-compose,不能使用ssh创建idea Docker,而需要使用socket创建idea Docker。 socket docker是不安全的,任何人都可以访问你的docker,所以只能测试环境使用,请勿在正式环境使用s…

每日一题 2182. 构造限制重复的字符串(中等,贪心)

贪心,每次都尽量取大的,除非连续取的次数超出限制,此时取一个下一个字符 class Solution:def repeatLimitedString(self, s: str, repeatLimit: int) -> str:N 26count [0] * Nfor c in s:count[ord(c) - ord(a)] 1ret []i, j, m N …

98. 验证二叉搜索树(LeetCode)

文章目录 前言一、题目分析二、算法原理三、代码实现剪枝总结 前言 在本文章中,我们将要详细介绍一下Leetcode中第98题验证二叉搜索树, 在本内容中我们将会学到递归解决二叉树,全局变量,剪枝等等相关内容。 一、题目分析 分析&a…

单片机原理及应用:定时器/计数器综合应用

本文是《单片机原理及应用》专栏中的最后一篇文章,笔者以编译器的安装配置——51单片机简介——LED和数码管外设——开关和按键控制功能切换——外部中断系统——定时器与计数器为知识大纲,介绍了C语言编程控制51单片机的入门教程。作为收尾,…

基于JavaWeb+BS架构+SpringBoot+Vue+Spark的共享单车数据存储系统的设计和实现

基于JavaWebBS架构SpringBootVueSpark的共享单车数据存储系统的设计和实现 文末获取源码Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 文末获取源码 Lun文目录 第一章 概述 2 1.1课题研究背景 2 1.2 课题研究意义 2 1.3国内…

ASP.NET作业批改系统源码

ASP.NET作业批改系统源码 源码描述: 该系统主要完成学生注册,登陆,作业的上传,教师对作业进行发布,批改等功能。 包括登陆子系统,学生子系统,教师子系统和管理员子系统。 管理员功能 资料管理:修…

【Maven】004-基于 IDEA 构建 Maven 工程

【Maven】004-基于 IDEA 构建 Maven 工程 文章目录 【Maven】004-基于 IDEA 构建 Maven 工程一、概述1、项目构建2、命令方式项目构建命令war 包打包插件和 jdk 版本不匹配 二、项目构建1、命令方式2、IDEA 可视化方式3、构建产物 一、概述 1、项目构建 项目构建是将软件开发…

获得利润和成长,应采取什么步骤, 澳福认为只需坚持一点

大多数交易者通常会考虑在外汇交易中获取利润,但只有少数人会思考这样一个问题:为了获得利润和专业成长,应该采取什么步骤。像“外汇交易怎么赢利”这样的文章很受市场欢迎,但是很少有人在交易中使用这些文章中给出的建议,因为在生…

图像监视:在 Visual Studio 调试器中查看内存中图像

先决条件 本教程假定您具有以下可用项: 安装了 Update 1 的 Visual Studio 2012 Professional(或更高版本)。更新 1 可在此处下载。在 Windows 计算机上安装 OpenCV(教程:在 Windows 中安装)。能够在 Visua…

unity C#深拷贝、浅拷贝、直接赋值区别与经典实例

文章目录 浅拷贝深拷贝浅拷贝和直接赋值有啥区别 在C#中,浅拷贝(Shallow Copy)和深拷贝(Deep Copy)是两种不同级别的对象复制方式。它们的区别主要体现在处理引用类型字段时的行为。 浅拷贝 浅拷贝是指复制对象时&…

【金猿人物展】DataPipelineCEO陈诚:赋能数据应用,发挥未来生产力

‍ 陈诚 本文由DataPipelineCEO陈诚撰写并投递参与“数据猿年度金猿策划活动——2023大数据产业年度趋势人物榜单及奖项”评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 我们处在一个“见证奇迹”的时代。在过去的20年间,我们见证了大数据技术快速发展所带…

VScode全局搜索屏蔽、显示屏蔽指定文件类型及文件夹

1.键盘上按快捷键“ crtl 逗号 ”启动设置界面 crtl ,设置界面显示如下: 2.搜索屏蔽 2.1.输入 search.exclude search.exclude 设置界面显示如下: 2.2. 点击下图红色箭头“Add Pattern”,添加想要屏蔽的文件类型或文件夹 **/*.git *…

做网页抓取时如何处理验证码

网络爬虫是自动从网站提取数据的过程,它已经彻底改变了企业获取信息和获取洞察的方式。然而,为了防止自动化机器人访问网站,CAPTCHA旨在阻碍网络爬虫的工作。在本文中,我们将探讨处理CAPTCHA的有效策略,并介绍Capsolve…

详解Skywalking 服务Overview页面的参数含义(适合小白)

本文针对刚刚接触skywalking的同学,重点讲解服务Overview页面中各个参数的含义,为大家快速上手skywalking会起到帮助作用! 最重要的三个指标 Service Apdex(数字):当前服务的评分 Successful Rate(数字&a…

0104 AJAX介绍

Ajax 的全称是 Asynchronous Javascript And XML (异步 JavaScript 和 XML )。 通俗的理解:在网页中利用 XMLHttpRequest 对象和服务器进行数据交互的方式,就是 Ajax Ajax 能让我们轻松实现网页与服务器之间的数据交互。 浏览器…

【ceph】在虚拟环境中需要给osd所在的虚拟盘扩容操作

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8…

国内开源环境漫谈

我国开源软件产业相较于欧美发达国家而言起步相对较晚,开源项目很少超过五年,开发者较年轻。国外很多开源项目都是10年以上的规划与投入。在开源社区发展初期、发展期、协作期、结晶期与流行期的五个阶段中,中国的开源社区平台大多处于前三个…

IDEA新建SpringBoot工程时java版本只有17和21

解决方法:替换源 参考博客:https://www.kuazhi.com/post/712799571.html

数据仓库研发规范

数据仓库研发规范 本文将介绍数据仓库研发规范的阶段规划、角色职责和整体流程。 在大数据时代,规范地进行数据资产管理已成为推动互联网、大数据、人工智能和实体经济深度融合的必要条件。贴近业务属性、兼顾研发各阶段要点的研发规范,可以切实提高研…

c++算法之二分

目录 二分法简介 解题步骤 整数二分 模板 例题 输入描述 输出描述 样例输入输出 解 浮点二分 模板 二分答案(最重要) 模板 例题 跳石头 题目描述 输入描述 输出描述 输入输出样例 解 例题 肖恩的苹果林 输入描述 输出描述 解 测…