memcached 与 redis 的区别?

news2024/12/24 0:43:57

1、Redis 不仅 仅 支 持 简 单 的 k/v 类型 的 数 据 ,同时 还 提 供 list,set,zset,hash等数 据 结 构 的 存 储 。而 memcache 只支 持 简 单 数 据 类 型 ,需要 客 户 端 自 己 处 理 复杂对 象
2、 Redis 支持 数 据 的 持 久 化 , 可 以 将 内 存 中 的 数 据 保 持 在 磁 盘 中 , 重 启 的 时 候 可以再 次 加 载 进 行 使 用 ( PS:持 久 化 在 rdb、 aof)。
3、由 于 Memcache 没有 持 久 化 机 制 , 因 此 宕 机 所 有 缓 存 数 据 失 效 。 Redis 配置为持 久 化 , 宕 机 重 启 后 , 将 自 动 加 载 宕 机 时 刻 的 数 据 到 缓 存 系 统 中 。 具 有 更 好 的灾备 机 制 。
4、Memcache 可以 使 用 Magent 在客 户 端 进 行 一 致 性 hash 做分 布 式 。Redis 支持在 服 务 器 端 做 分 布 式( PS:Twemproxy/Codis/Redis-cluster 多种 分 布 式 实 现 方式)
5、Memcached 的简 单 限 制 就 是 键 ( key)和 Value 的限 制 。最大 键 长 为 250 个字符 。 可 以 接 受 的 储 存 数 据 不 能 超 过 1MB(可 修 改 配 置 文 件 变 大 ) , 因 为 这 是 典型 slab 的最 大 值 , 不 适 合 虚 拟 机 使 用 。 而 Redis 的 Key 长度 支 持 到 512k。
6、 Redis 使用 的 是 单 线 程 模 型 , 保 证 了 数 据 按 顺 序 提 交 。 Memcache 需要 使 用cas 保证 数 据 一 致 性 。 CAS( Check and Set)是 一 个 确 保 并 发 一 致 性 的 机 制 , 属于 “ 乐观 锁 ” 范畴 ; 原 理 很 简 单 : 拿 版 本 号 , 操 作 , 对 比 版 本 号 , 如 果 一 致 就 操
作, 不 一 致 就 放 弃 任 何 操 作 。 由 于 Redis 只使 用 单 核 , 而 Memcached 可以 使 用 多 核 , 所 以 平 均 每一个 核 上 Redis 在存 储 小 数 据 时 比 Memcached 性能 更 高 。而在 100k 以上 的 数据中 , Memcached 性能 要 高 于 Redis 。
7、 memcache 内存 管 理 : 使 用 Slab Allocation。原 理 相 当 简 单 , 预 先 分 配 一 系列大 小 固 定 的 组 ,然后 根 据 数 据 大 小 选 择 最 合 适 的 块 存 储 。避免 了 内 存 碎 片 。( 缺点: 不 能 变 长 , 浪 费 了 一 定 空 间 ) memcached 默认 情 况 下 下 一 个 slab 的最 大 值为前 一 个 的 1.25 倍。
8、redis 内存 管 理 : Redis 通过 定 义 一 个 数 组 来 记 录 所 有 的 内 存 分 配 情 况 , Redis采用 的 是 包 装 的 malloc/free, 相较 于 Memcached 的内 存 管理 方 法 来 说 , 要简单很 多 。由于 malloc 首先 以 链 表 的 方 式 搜 索 已 管 理 的 内 存 中 可 用 的 空 间 分 配 ,导致内 存 碎 片 比 较 多

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

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

相关文章

Java 初学者的第一个 SpringBoot3.4.0 登录系统二

Java 初学者的第一个 SpringBoot3.4.0 登录系统二 SpringBoot 3.4.0 是 SpringBoot 的最新版本,是乐衷与新技术的 Java 初学者和程序员的选择。和 SpringBoot3.4.0 搭配的各种软件组件也是新的潮流。Java 通用代码生成器光,2.4.0 电音之王尝鲜版十支持新…

SSH客户端

SSH客户端 在VMware界面中操作虚拟机非常不友好,所以一般推荐使用专门的SSH客户端。市面上常见的有: Xshell:个人免费,商业收费,之前爆出过有隐藏后门。不推荐Finshell:基础功能免费,高级功能…

python小课堂(一)

基础语法 1 常量和表达式2 变量和类型2.1 变量是什么2.2 变量语法 3 变量的类型3.1 动态类型特性 4 注释4.1注释是什么 5 输入输出5.1 print的介绍5.2 input 6 运算符6.1 算术运算符在这里插入图片描述6.2 关系运算符6.3 逻辑运算符6.4赋值运算符 1 常量和表达式 在print()中可…

java中的方法的重载和重写、构造器

目录 方法的重载和重写、构造器1.java的修饰符:2.普通方法3.构造器(也叫构造方法/构造函数)4.方法的重载5.补充6.方法的重写7.类的执行顺序8.再看方法的重写 方法的重载和重写、构造器 1.java的修饰符: public修饰的代码&#xf…

Halcon例程代码解读:安全环检测(附源码|图像下载链接)

安全环检测核心思路与代码详解 项目目标 本项目的目标是检测图像中的安全环位置和方向。通过形状匹配技术,从一张模型图像中提取安全环的特征,并在后续图像中识别多个实例,完成检测和方向标定。 实现思路 安全环检测分为以下核心步骤&…

前端知识补充—HTML

1. HTML 1.1 什么是HTML HTML(Hyper Text Markup Language), 超⽂本标记语⾔ 超⽂本: ⽐⽂本要强⼤. 通过链接和交互式⽅式来组织和呈现信息的⽂本形式. 不仅仅有⽂本, 还可能包含图⽚, ⾳频, 或者⾃已经审阅过它的学者所加的评注、补充或脚注等等 标记语⾔: 由标签构成的语⾔…

springboot根据租户id动态指定数据源

代码地址 码云地址springboot根据租户id动态指定数据源: springboot根据租户id指定动态数据源,结合mybatismysql多数源下的事务管理 创建3个数据库和对应的表 sql脚本在下图位置 代码的执行顺序 先设置主数据库的数据源配置目标数据源和默认数据源有了主库的数据源&#xff…

powershell美化

powershell美化 写在前面 除了安装命令,其他都是测试命令,后续再写进配置文件 安装主题控件 安装主题oh-my-posh,powershell中执行 winget install JanDeDobbeleer.OhMyPosh -s winget oh-my-posh init pwsh | Invoke-Expression # 查看…

Docker监控新纪元:Prometheus引领高效容器监控革命

作者简介:我是团团儿,是一名专注于云计算领域的专业创作者,感谢大家的关注 •座右铭: 云端筑梦,数据为翼,探索无限可能,引领云计算新纪元 个人主页:团儿.-CSDN博客 目录 前言&…

arcgisPro将面要素转成CAD多段线

1、说明:正常使用【导出为CAD】工具,则导出的是CAD三维多线段,无法进行编辑操作、读取面积等。这是因为要素面中包含Z值,导出则为三维多线段数据。需要利用【复制要素】工具禁用M值和Z值,再导出为CAD,则得到…

R 语言 | 绘图的文字格式(绘制上标、下标、斜体、文字标注等)

1. 上下标 # 注意y轴标签文字 library(ggplot2) ggplot(mtcars, aes(mpg, cyl))geom_point()ylab(label bquote(O[3]~(ug / m^3)))2. 希腊字母,如alpha ggplot(mtcars, aes(mpg, cyl))geom_point()ylab(label bquote(O[3]~(ug / m^3)))ggtitle(expression(alpha))…

WebContainerapi 基础(Web IDE 技术探索 一)

前言 随着web技术的发展,在网页端直接运行node.js、实现微型操作系统已经不再是难事。今天介绍的 WebContainers就是一个基于浏览器的运行时,用于执行 Node.js 应用程序和操作系统命令,它完全运行在您的浏览器页面中,提供了文件系…

解决pytorch安装中的三个错误

查明已安装python版本为3.12.7后,创建虚拟环境。 报错内容:ArgumentError: one of the arguments -n/–name -p/–prefix is required 解决方式: 输入 conda create -n pytorch python3.8即可安装成功。 参考文章:https://blo…

LeetCode:104.二叉树的最大深度

跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的! 代码随想录 LeetCode:104.二叉树的最大深度 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节…

上传文件(vue3)

使用el-upload 先上传到文件服务器&#xff0c;生成url 然后点击确定按钮&#xff1a; 保存数据 <template><el-dialog top"48px" width"500" title"新增协议" :modelValue"visible" close"handleClose()">…

PostgreSql+Pgpool-II配置高可用集群(超详细)

一.配置示例 1.1. 基本配置示例 1.1.1. 开始 首先&#xff0c;我们必须学习如何在使用复制之前安装和配置 Pgpool-II 和数据库节点。 1.1.1.1. 安装 Pgpool-II 安装 Pgpool-II 非常简单。 在已解压源 tar ball 的目录中&#xff0c; 执行以下命令。 $ ./configure$ make$ …

2012年西部数学奥林匹克试题(几何)

2012/G1 △ A B C \triangle ABC △ABC 内有一点 P P P, P P P 在 A B AB AB, A C AC AC 上的投影分别为 E E E, F F F, 射线 B P BP BP, C P CP CP 分别交 △ A B C \triangle ABC △ABC 的外接圆于点 M M M, N N N. r r r 为 △ A B C \triangle ABC △ABC 的内…

【自动驾驶】单目摄像头实现自动驾驶3D目标检测

&#x1f351;个人主页&#xff1a;Jupiter. &#x1f680; 所属专栏&#xff1a;传知代码 欢迎大家点赞收藏评论&#x1f60a; 目录 概述算法介绍演示效果图像推理视频推理 核心代码算法处理过程使用方式环境搭建下载权重文件pytorch 推理&#xff08;自动选择CPU或GPU&#x…

帝国CMS自动生成标题图片并写进数据库

帝国CMS背景可自定义&#xff0c;可单独背景也可以随机背景,此插件根帝国cms官方论坛帖子改的&#xff0c;增加了生成图片后写入数据库,笔者的古诗词网 www.gushichi.com 也是这样设置的。 效果图 将下面的代码插入到/e/class/userfun.php中增加如下函数 单独背景代码 //自动…

5G -- 5G网络架构

5G组网场景 从4G到5G的网络演进&#xff1a; 1、UE -> 4G基站 -> 4G核心网 * 部署初中期&#xff0c;利用存量网络&#xff0c;引入5G基站&#xff0c;4G与5G基站并存 2、UE -> (4G基站、5G基站) -> 4G核心网 * 部署中后期&#xff0c;引入5G核心网&am…