深度对比MemcacheD 和 Redis,论你不知道的二三事

news2025/2/28 23:23:40

谈到深度对比MemcacheD 和 Redis,作为老牌程序员首先想到的就是Memcache好一点,毕竟更节省内存。还可以存图片视频之类的,大部分市面上的cache都是MemcacheD。

但是评价一款cache并不能只看这一方面不是~

数据存储的安全系数

要知道,memcacheD的数据库是存储在内存上,非常容易丢失。

但是redis不一样,随着数据的增多,它会将一部分的数据转移到磁盘上,仅仅存储key,不进行过多占用内存的操作。

这样直接带来的好处就是,当突然灭掉电源时,redis的数据相比之下更加不容易丢失。

线程问题

首先我们要分清楚进程和线程的措辞,听起来好像一节语文课~

进程就是一个软件的执行, 但是线程是一个有专有栈指针、程序计数器的执行流。

区别就是,线程可以是多个线程执行同一个函数,但是进程就像一条线没有退路也没有分叉。

而这里的memcacheD是一款多线程的数据库,但是redis是单线程的。

看起来memcacheD好像比redis高级了很多,但是这种高效率和快节奏也会带来一些想不到的bug,十分令人头大。

毕竟,你想要一下子实现更多的骚操作,需要的技术也就更加复杂,也更加容易玩脱线。

而且memcache可以将一个进程(一个软件的执行时)拆分成多个线程(很多条路同时解决),是一个很好的方式可以解决高并发问题。但是也带来了很多麻烦,比如响应时间会很慢。

对CPU的占用来说,memcache就像一个不孝子,需要老父亲的监督和监视。

分布式存储

memcacheD本身可能并不是个分布式的程序,但是用过一些计算机的算法,比如一致性哈希这种,可以实现咱们的这个分布式存储。

这就带来了一个问题,因为一致性哈希是使用在客户端的,而redis在这一点上是在服务器这一端口实现分布式结构的存储功能的。

通过crc16( key ) % HASH_SLOTS_NUMBER,Redis Cluster将整个key的数值域分成4096个哈希槽,每一个节点可以存储多个哈希槽,通过这样的结构来实现分布式存储。

究竟孰优孰劣,想必大家心中已经有了一个高下立见的判断。

而说起来,学会了分布式存储,可以说你已经从一个入门级程序员进入到了一个资深程序员的思考领域。

可以尝试接一些外包进行技术输出,在我这里就不详细展开说明了。

还有什么想看的技术知识,欢迎评论区留言点赞,我们下期见~

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

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

相关文章

2023春招面试题:Redis数据库面试题整理

redis是什么?(必会) Redis 是 C 语言开发的一个开源的(遵从 BSD 协议)高性能非关系型(NoSQL)的(key-value)键值对数据库。可以用作数据库、缓存、消息中间件等。 redis…

STM32F103学习

目录 1、框架了解 2.GPIO (1)开漏输出与推挽输出 (2)基本知识了解 HAL库函数: 配置流程: (3)按键实验:STM32的按键开发基础_哔哩哔哩_bilibili 3、时钟 时钟框图…

力扣(leetcode)经典题目分享第3期——栈和队列

栈和队列一. 选择题1.1 进出栈顺序1.2 循环队列1.3 队列的基本运算1.4 循环队列的有效长度二. OJ练习题2.1 括号匹配问题2.2 用队列实现栈2.3 用栈实现队列2.4 循环队列总结:一. 选择题 1.1 进出栈顺序 若进栈序列为 1,2,3,4 ,进栈过程中可以出栈&…

unreal编译源码搭建dedicated server的流水账——但是细

参考视频: B站的视频: https://www.bilibili.com/video/BV1wk4y1m7wz/?spm_id_from333.337.search-card.all.click&vd_sourced33b44674c517c8b7928e8d3ac316b37 YouTube的视频: https://www.youtube.com/watch?vAKiGajA7AXM 和上面的视…

基于STM32CUBEMX驱动多个VL6180X

概述 VL6180X是基于ST FlightSense™专利技术的最新产品。这是一个突破性的技术,实现了独立于目标反射率的绝对距离测量。现有技术通过测量反射光的光量来估算距离,这种方法的最大缺点是被测物体的颜色和表面对测量精度影响很大,而VL6180X则…

云端办公后,协同软件也能轻松做好项目管理

最近很多朋友在后台问我,数字化移动办公环境下如何做好项目管理,但是问题不够聚焦,所以我决定从自己的理解出发,分享一下项目管理的一些心得。需要说明的是,传统项目管理和互联网项目管理存在很大的差异,尤…

MyBatis源码(二)如何执行sql

前言 接着environmentElement获取数据源信息后,同级执行代码的mappersElement。 Mybatis源码(三)如何操作数据库 MyBatis源码(二)如何执行sql Mybatis源码(一)获取数据源 结构小结 分析ma…

Leetcode 2. 两数相加(高精度加法模板)

Leetcode 2. 两数相加 题目 思路 链表从头开始存放数据的个位十位 百位新建一个链表C,将链表A和B每一个相加的结果存放在C中,注意加法的进位 代码 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode n…

实力领航|万应智谷云平台成功入选2022中国互联网大会“互联网助力经济社会数字化转型”特色案例

近日,以“发展数字经济 促进数字文明”为主题,由工业和信息化部、深圳市人民政府主办,中国互联网协会、广东省通信管理局、深圳市工业和信息化局等单位承办的2022(第二十一届)中国互联网大会在深圳国际会展中心召开。开…

【超多代码、超多图解】Node.js一文全解析

目录一、Node.js简介1.1什么是Node.js1.2 Node.js可以做什么1.3 Node.js的安装1.4 Node.js的使用二、模块化处理2.1 什么是模块化2.2 内置模块2.2.1 fs文件系统模块(1)基本用法(2)防止动态拼接(3)路径问题2.2.2 path内置模块2.2.3…

前缀函数与KMP算法

一,前缀函数 1,定义 该函数存储一个字符串的各个长度的子串真前缀与真后缀相等的长度(注意,真前缀最多长度为n-1,不包含最后一个字符,真后缀同理,不包含第一个字符) 用p[i]数组储…

【LeetCode每日一题】——744.寻找比目标字母大的最小字母

文章目录一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【解题思路】七【题目提示】八【时间频度】九【代码实现】十【提交结果】一【题目类别】 二分查找 二【题目难度】 简单 三【题目编号】 744.寻找比目标字母大的最小字母 四【题目描述…

【小5聊】基础算法 - 实现字符串1到N位长度的组合关键词

在本篇文章中,我们讲一起了解下基础算法的运用 在程序开发里,算法无处不在,掌握算法才能更好的提高程序效率和质量 【算法返回效果】 【实现的功能描述】 当前算法主要实现输入一定长度的字符串后,能够返回按顺序1个字符长度、…

第二证券|七位投资专家指点2023 战略性看好A股 市场将提供更多机会

2022年行将收官,2023年新征途行将开启。 阅历了本年的一波三折、震动大跌,2023年A股商场将怎么演绎?有哪些时机值得注重?哪些危险要素需求留意? 对此,我国基金报记者专访了来自公募、券商资管、私募的七位…

Vjudge如何绑定洛谷账号

因为洛谷不支持Vjudge的bot提交,一个学弟问我才发现。要绑定洛谷账号才能在vj本地提交,绑定的方法也很奇怪,方法如下。 在题目来自洛谷的题目界面点击提交,出现如下界面。 发现没有bot提交选项,只能选择My Account,点…

NetInside网络攻击分析帮您轻松发现网络异常

分析概述 分析概述从以下四点做介绍。 故障信息来源 根据网络管理老师提供信息,29日上午7点半到9点时分,网络出现过故障。 分析对象 使用NetInside全流量分析系统对改故障进行分析。 分析思路 1、对比分析故障时段与非故障时段总流量信息。 2、对…

硬盘数据恢复的方法有哪些?这五种恢复方法你知道吗

硬盘通常泛指电脑硬盘,也可以将其定义为电脑数据的“载体”。硬盘的主要作用是存储数据,它具有读写速度快、耗能低、体积小等优势,但是在使用过程中,总会遇到硬盘数据丢失问题,比如受病毒感染、误格式化、误删除、操作…

C++中的多态(概念篇)

多态的概念 通俗来说,就是多种形态,具体点就是去完成某一个行为,不同的对象去完成时会产生出不同的状态。比如最常见的买票,学生为半价,成人为全票。 多态的分类 静态的多态:如函数重载,看起…

【Linux入门指北】 网站服务

网站服务 文章目录网站服务一、简介二、静态站点三、动态站点1.LAMP2.部署论坛系统discuz3.部署博客系统 wordpress4.部署网上商城 ecshop5.部署网校系统edusoho一、简介 1.前言 UI的转变:B/S架构 2.名词 HTML( HyperText Markup Language)…

Arduino 简易屏显电子温度计

Arduino 简易屏显电子温度计一、前言二、硬件要求三、参数基础四、原理剖析五、实验思路六、程序概要七、arduino使用接线八、成果展示九、总结一、前言 温度计的使用,在日常生活中随处可见,电子行业也有相应的温控传感器设备,不管的是电子芯…