Redis vs memcached vs mongo

Memcache与MongoDB协同架构:高并发场景下的缓存-存储分工实践 缓存系统与文档数据库是现代Web架构中应对高并发读写的核心组件。Memcache作为轻量级键值缓存,以极低延迟、零GC、确定性性能支撑热点数据快速响应;MongoDB则凭借WiredTiger引擎、动态Schema和多维索引能力,高效承载结构多变、写多读少的业务数据。二者并非替代关系,而是通过清晰的职责边界(如缓存完整实体、事件驱动失效、空值+布隆过滤防穿透)实现性能互补与风险隔离。该组合特别适用于用户行为日志、Feed流聚合、IoT状态缓存等典型场景,在电商、社交、物联网等高吞吐系统中已成稳定范式。 阅读详情
Redis vs memcached vs mongo


Redis vs memcached:


Redis作为一个高性能的key-value数据库具有以下特征: 
1.多样的数据模型(String、Hash、List、Set和Sorted Set) 
2.持久化-bgsave(使用RDB快照的方式,在发起落地指令时,fork 出一个进程把整个内存 dump 到硬盘上(fork会消耗不少内存和IO);或使用类似MySQL的AOF日志方式,记录每次更新的日志。前者性能较高,但是可能会引起一定程度的数据丢失;后者相反。) 
3.主从同步(对提高读取性能非常有益, 也触发了fork)
4.分布式可拓展性:
4.1 2.8以前的版本:与Memcached一致,可以在客户端实现,也可以使用代理,twitter已开发出用于Redis和Memcached的代理Twemproxy 。
4.2 3.0以后的版本:Redis Cluster是一个实现了分布式且允许单点故障的Redis高级版本,它没有中心节点,各个节点地位一致,具有线性可伸缩的功能。
5. Redis只使用单核,而Memcached可以使用多核
6. Memcached单个key-value大小有限,一个value最大只支持1MB,而Redis最大支持512MB
7. Memcached只是个内存缓存,对可靠性无要求;而Redis更倾向于内存数据库,因此对对可靠性方面要求比较高
8. 冷备机制: 定期把 redis 数据库文件复制一份打包备份。而操作系统在拷贝文件时,似乎利用了大量的内存做文件 cache 而没有及时释放。调整了操作系统的内核参数,关掉了 cache ,暂时解决了问题。


可靠性上:
     MemCached不支持数据持久化,断电或重启后数据消失,但其稳定性是有保证的。Redis支持数据持久化和数据恢复,允许单点故障,但是同时也会付出性能的代价。
     
应用场景:
     Memcached:动态系统中减轻数据库负载,提升性能;做缓存,适合多读少写,大数据量的情况(如人人网大量查询用户信息、好友信息、文章信息等)。
     Redis:适用于对读写效率要求都很高,数据处理业务复杂和对安全性要求较高的系统(如新浪微博的计数和微博发布部分系统,对数据安全性、读写要求都很高)。  
     
mongo
磁盘映射内存数据库
value为document类型, 基于BSON的value序列化
应用场景:
适合多写少读, 例如日志和备份




     
SQL vs NoSQL:
MySQL中, 背包其实跟角色完全没有关系, 只是通过1个角色id映射过去, 人为的割裂了数据的关联性. 还硬生生的整出个概念叫结构化查询让你学
NoSQL中, 只是把数据库当成是存储点, 每个角色的数据是完整的一块. 里面怎么存随你便. 每个角色通过id来查询, 其他都没有了
于是乎, 游戏开发变得异常简单. MySQL角色进门查询4~5次才能搞定要的数据.而NoSQL一口气全查出来, 存盘也无需增量, 直接存盘就可以了




http://blog.codingnow.com/2014/03/mmzb_redis.html
https://github.com/shenzhe/redis-storage
PHP 7底层重构与兼容性实战指南 PHP作为一种广泛使用的服务器端脚本语言,其执行效率和内存管理长期受制于虚拟机设计。PHP 7通过Zend Engine 3.0重写内核,引入统一zval结构和引用计数+写时复制(Copy-on-Write)机制,实现平均50%内存下降与2倍以上CPU密集型操作提速。这一变革不仅带来性能跃迁,更引发错误处理范式迁移(Error类取代部分E_ERROR)、扩展ABI断层及语法级静默变更等深层兼容性挑战。开发者需从运行时行为、扩展依赖、异常捕获逻辑到OPcache调优进行系统性适配。本文聚焦PHP 7升级中的真 阅读详情

相关推荐

使用LogisticRegression和LightGBM模型对信贷违约进行预测----基于kaggle比赛数据

3.分离数值型变量与类别型变量,发现有些数值型变量因为输入不规范,比如数值中含有字符(28_,_10000_等)被划分为类别型变量 ,比如 'Age','Annual_Income','Num_of_Loan', 'Num_of_Delayed_Payment', 'Changed_Credit_Limit','Credit_Mix','Monthly_Balance', 'Outstanding_Debt' ,'Amount_invested_monthly'等。三、分箱,woe编码,计算IV值。

I_am_a_big_tiger的博客 1654

RedisMemcached的区别

Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较: Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/S

Linlei的专栏 1819

将运算放大器(运放)用作比较器

我们研究了一些经典的运算放大器电路。这些电路中运用了负反馈,因此通常就可以使运算放大器工作在线性区域内。 但是,也可以将运算放大器用作比较器,从而使其以非线性方式工作。由于其输入受到硬驱动,因此其输出电压会对电源轨产生猛烈的冲击。如下文所示,这可能并不总是一种好的设计方法。 变为非线性 在线性应用中,可以对运算放大器做如下理想假设:无限增益和带宽、零输出阻抗、无限输入阻抗,以及输入之间为零伏。也可以将运算放大器以非线性方式使用,但有一些地方要特别注意和处理。 一种常见的配置是仅使用开环运算放大器(无反馈),

ltqdxl的博客 3万+

redismemcachedmongoDB 对比

Mongodb和Memcached不是一个范畴内的东西。Mongodb是文档型的非关系型数据库,其优势在于查询功能比较强大,能存储海量数据。Mongodb 和 Memcached不存在谁替换谁的问题。  MemcachedRedis它们都是内存型数据库,数据保存在内存中,通过tcp直接存取,优势是速度快,并发高。  Memcached 是一个高性能的分布式内存对象缓存系

haif_city的博客 962

MemcachedRedis, MongoDB的区别

https://blog.csdn.net/HeatDeath/article/details/72818096#t1

康师父Blog 678

Redis vs. 其他数据库:深度解析,如何选择最适合的数据库?

Redis作为一种性能限制对数据库的键值,在队列数据库中独树一帜。它因高性能、多样化的数据结构和灵活的使用方式而闻名。我们就来详细对比一下Redis与其他数据库常见的区别。

moton2017的博客 971

NoDock vs 传统部署:为什么Docker Compose是Node项目的未来

NoDock是一个基于Docker Compose的Node项目部署解决方案,集成了Node、MySQL、RedisMongoDB、NGINX、Apache2、Memcached、Certbot和RabbitMQ等多种服务镜像,为Node.js应用提供了一站式的容器化部署体验。 ## 🚀 传统部署的痛点:为什么Node项目需要变革? 传统的Node项目部署方式往往面临着环境一致性、依赖管理

gitblog_01052的博客 459

NoSQL解决方案比较(MongoDB vs Redis, Tokyo Cabinet, and Berkeley DB)

NoSQL解决方案比较 NoSQL Solution: Evaluation and Comparison: MongoDB vs Redis, Tokyo Cabinet, and Berkeley DB 你也许认为这是NoSQL (Not Only SQL)广告宣传的另一个博客。 是,这的确是。 但是如果这个时候你仍就为寻找一个可行的NoSQL解决方案而苦恼,读完这

iTer的专栏 1819

NOSQL非关系型数据库学习(四)这样对比下HBASE, MEMCACHED, MONGODB, REDIS和SOLR

Source http://db-engines.com/en/system/HBase%3BMemcached%3BRedis%3BSolr Name HBase   Memcached  MongoDB   Redis   Solr   Description Wide-column stor

psiitoy的专栏 1341

kubectl-dba vs 传统工具:为什么这款KubeDB插件是数据库管理员的必备神器

在Kubernetes生态系统中管理数据库一直是DBA和DevOps工程师面临的一大挑战。传统的手动管理方式不仅耗时耗力,还容易出错。今天,我将为你介绍一款革命性的工具——**kubectl-dba**,这款KubeDB官方插件如何彻底改变数据库管理方式,成为数据库管理员不可或缺的神器。 ## 什么是kubectl-dba?🎯 **kubectl-dba**是KubeDB的官方`kubect

gitblog_00368的博客 822

Java程序员在用的大数据工具,MongoDB稳居第一!

问题:他们最近一年最喜欢用什么工具或者是框架? 受访者可以选择列表中的选项或者列出自己的,本文主要关心的是大数据工具。上一篇Java调查包括下列内容: 开发语言Web框架应用服务器数据库工具SQL数据大数据开发工具云供应商 现在,来看看维基百科上对大数据的定义: 大数据,广义上来说是一组量很大很复杂的数据集合,在这种情况下传统的数据处理方式将不再适用。 对于一般情

jiangjian_isswhu的专栏 452

并行分布式框架:Celery、rq、funboost

Celery是一个异步任务的调度工具,也可以叫做 "分布式任务队列(Distributed Task Queue)"。

freeking101的博客 5万+

K8S Helm安装

微软仓库(http://mirror.azure.cn/kubernetes/charts/)这个仓库推荐,基本上官网有的chart这里都有,国内可能无法访问。官方仓库(https://hub.kubeapps.com/charts/incubator)官方chart仓库,国内可能无法访问。阿里云仓库(https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts)#从指定chart仓库地址搜索chart。#查看配置的chart仓库有哪些。

qq_34944795的博客 176

Memcached构建缓存服务器

主要介绍NOSQL数据库memcached的安装和基本命令,并讲述memcached作为缓存服务器的作用是什么

panzhengxiang的博客 422

Helm部署memcached服务

8.稍微修改一下memcached/templates下的statefulset.yaml(注意template下的yaml文件可能都需要查看一下,因为他们创建的时候可能版本是低的,有些字段的写法已经修改了,或者新增了一些写法)现在的statefulset.yaml中的spec下就缺少了selector字段,所以增加一下selector。helm uninstall memcached或者 helm delete memcached。4查看阿里云chart仓库中的memcached

qq_34944795的博客 210

Spring Cache 多缓存后端怎么选:Caffeine、Redis 与 NoOp 的路由边界

MetaLite 是面向企业生产环境的新一代 Java 微服务技术底座。系列文章重点分享代码背后的设计思路、技术取舍与工程实践。

MetaLite的博客 379

Redis 的持久化机制有哪些?

RDB:全量快照,bgsave子进程,恢复快,存在数据丢失风险;AOF:记录写命令日志,三种刷盘策略,靠AOF重写压缩文件;4.0+支持混合持久化,线上最推荐;两种持久化都会fork子进程,大数据量要注意fork带来的短暂阻塞。

程序员夏洛的博客 415

【Azure Redis】中国区创建和连接 Azure Managed Redis 的两个注意事项

<think>我们根据要求生成一个≤150字的文章摘要。内容是关于Azure Managed Redis的介绍,包括其特点、在中国区创建的注意事项和RedisInsight连接配置。摘要要简洁。</think>Azure Managed Redis是微软新一代全托管服务,基于Redis Enterprise,提供高性能缓存、实时数据与AI/LLM数据层能力,支持向量搜索、语义缓存等场景。

编码者卢布,国家认证程序员,十八年开发人员,目前生活在云环境。 195

Redis 与 MySQL 数据一致性:从原理到架构实战

如果写操作是"更新缓存",在并发场景下,可能出现:线程 A 更新 DB 为 100 → 线程 B 更新 DB 为 200 → 线程 B 更新缓存为 200 → 线程 A 更新缓存为 100。最终缓存值 100 与 DB 值 200 不一致。而"删除缓存"后,下次读请求会重新从 DB 加载最新值,天然避免了上述并发写入导致的脏数据问题。

m0_58600248的博客 366

Redis 典型应用之缓存 (cache)

本文主要介绍了缓存的应用场景以及缓存常见问题、分布式锁等

Dai_renwen的博客 248

Total commander 7.02a

Total Commander(原名Windows Commander)是强大的windows资源治理器终结者。以其使用方便、功能强大、设计体贴、稳定可靠征服了无数电脑老鸟。在接触、了解这个完美的工具后,相信你会和我一样有相见恨晚的感觉。  Total Commander的最大特点是由两个列表窗口组成,这种设计避免了windows资源治理器目录树在文件操作的一系列弊端:  首先,资源治理器在选择一个文件夹后,假如想先看一下另一个文件夹的内容,就必须先丢失当前的选择,后边要再对先前选择进行操作(复制或移动)时又需要重新寻找上一次选择的文件夹;其次,将一个文件夹在目录树一侧移动或复制,假如和目的目录相距较远,是一件极为痛苦的事情%26mdash;%26mdash;要按着鼠标把文件拖运好远。而使用双列表窗就不会有这些苦恼。  二、 超越资源治理器  让我们来看看Total Commander比资源治理器聪明在哪里:  1. 在资源治理器中移动或删除文件,假如其中有一个文件不能移动或删除将导致整个操作失败。Total Commander中答应你"跳过"这样的文件继续后面的操作。  2. 在复制或移动之前Total Commander会自动检测目标磁盘的大小,不会像资源治理器那样到空间不够的时候才报错。  3. 答应把移动、复制、压缩、解压缩等操作放"后台进行",在必要时候还可以暂停当前的操作。另外一种最小化操作可以把Total Commander缩到右小角,她的图标还在显示当前的进度,实在是很方便!  4. 用资源治理器从光盘上复制文件会把只读属性也一同复制,在硬盘上要修改的话还要去掉只读,假如是直接执行的程序还会出现意想不到的错误。Total Commander会自动把"只读"属性改为"存档"属性,避免上面的麻烦。  5. 特异功能:把当前文件夹所有子目录中的文件放在一起显示;在主窗口中直接显示所有文件夹的大小%26hellip;%26hellip;资源治理器做梦也想不到的功能。  (一)、压缩文件  压缩文件我们几乎天天都会接触到,不得不把WinZip、WinRAR之类的压缩软件安上一堆,还要逐个去学习它们的使用方法。从Windows Me开始,微软在操作系统中加入了对Zip文件的支持,使压缩包操作起来像文件夹一样方便。Total Commander更胜一筹,不但支持Zip、RAR、ACE等多种格式和各种压缩软件生成的自解压缩文件,而且具有普通压缩软件的所有功能:创建自解压缩包、分卷压缩包、一次解压多个压缩包等等。另一方面它又超越了现在的压缩软件,支持直接对压缩包内文件改名,对压缩包内部搜索,甚至直接在两个压缩包间拷贝文件。  (二)、批量文件改名  Total Commander的文件改名功能足以让专业软件自叹不如。你所能够想得到的在这里几乎都可以实现,例如修改扩展名、在文件名称中加上数字、转换大小写、替换指定的字符、把目录名或是当前的时间日期加入文件名中。由于使用了占位符,使用者可以精确地控制在第几个字符上使用上面这些设置。修改结果立即显示在相应文件名后面,直到按下"开始"才真正对文件修改,修改后仍可以随时撤消。  (三)、文件分割  为了通过因特网或软盘传送文件,我们经常将大文件分割成多个小文件,于是就出现了大量的文件分割工具,这些软件往往需要目标机器上也安装有同样的软件。而Total Commander则不同,在目标机器上使用DOS命令"Copy"就可以把文件合并,也就是说有Windows的地方就可以合并。同时它还会创建一个校验文件,用Total Commander合并时,这个文件用来检验合并后的文件是否和原文件相同。  (四)、内置FTP功能  Total Commander同时可以连接多个服务器,支持站对站传输、设置代理服务器、自动保持在线,支持续传,答应定制远端路径和本地路径,丝毫不比专业软件差。更重要的是:一切操作就和你在Total Commander中操作本地文件一模一样!  (五)、强大的内置查看器  用过内置查看器后你会发现windows记事本的速度太慢了!它可以用最快的速度、最少的资源打开任意大小的文本文件,而且支持以unicode(Dos系统的字符集)、二进制、十六进制格式显示所打开的文件。对Html文件,它能自动去除各种html标记,并且把原有的链接保留,嫌IE启动慢的话,用它就可以了。除此之外它还支持各种多媒体文件,例如BMP格式的图片、AVI、WAV,甚至MP3!假如功能再强大些恐怕Media Player、AcdSee、WinAmp都要下岗了。  (六)、搜索功能  和Total Commander搜索功能比起来,资源治理器中的简直是小儿科。除了能够指定查找文件的大小、日期、属性,Total Commander还可以在压缩包中搜索,直接搜索多个文本文件中指定的文字,甚至是搜索压缩包中文本文件的内容!搜索设置还可以保存起来以便下次搜索时再次使用。  有了Total Commander,不但可以让资源处理器走开,而且压缩软件、改名软件、分割软件、FTP软件也可以统统请出硬盘。这个世界清净了!

上一篇: 论系统架构中的单点
下一篇: 腾讯后台开发技术总监浅谈过载保护 小心雪崩效应
blade2001
博客等级 码龄25年 372粉丝 158原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值