redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?...-程序员宅基地

技术标签: memcached  数据结构与算法  数据库  

这个是问 redis 的时候,最基本的问题吧,redis 最基本的一个内部原理和特点,就是 redis 实际上是个单线程工作模型,

你要是这个都不知道,那后面玩儿 redis 的时候,出了问题岂不是什么都不知道?

还有可能面试官会问问你 redis 和 memcached 的区别,但是 memcached 是早些年各大互联网公司常用的缓存方案,

但是现在近几年基本都是 redis,没什么公司用 memcached 了。

 

redis 和 memcached 有啥区别?

redis 支持复杂的数据结构

redis 相比 memcached 来说,拥有更多的数据结构,能支持更丰富的数据操作。如果需要缓存能够支持更复杂的结构和操作, redis 会是不错的选择。

redis 原生支持集群模式

在 redis3.x 版本中,便能支持 cluster 模式,而 memcached 没有原生的集群模式,需要依靠客户端来实现往集群中分片写入数据。

性能对比

存储小数据的时候redis性能更高

由于 redis 只使用单核,而 memcached 可以使用多核,所以平均每一个核上 redis 在存储小数据时比 memcached 性能更高。

而在 100k 以上的数据中,memcached 性能要高于 redis,虽然 redis 最近也在存储大数据的性能上进行优化,但是比起 memcached,还是稍有逊色。

redis 的线程模型

redis 内部使用文件事件处理器 file event handler,这个文件事件处理器是单线程的,所以 redis 才叫做单线程的模型。

它采用 IO 多路复用机制同时监听多个 socket

 

为啥 redis 单线程模型也能效率这么高?

  • 纯内存操作
  • 核心是基于非阻塞的 IO 多路复用机制

 

转载于:https://www.cnblogs.com/lyon91/p/10456429.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30354675/article/details/99757405

智能推荐

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".-程序员宅基地

文章浏览阅读48次。调试Mina程序出现如下错误:SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".SLF4J: Defaulting to no-operation (NOP) logger implementationSLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBin...

vs2012配置python_安装适用于Visual Studio 2012(PTVS)的Python工具-程序员宅基地

文章浏览阅读220次。I installed the version for VS 2010 a few weeks ago, and it went flawlessly. I am not having such good luck for the version for VS 2012. What did I do wrong? I ran, in order, two installers from Micro..._vs2012 installing a python interpreter will let you run your project, and wi

无线网络安全与解决方案(Wireless Security)_wifi security-程序员宅基地

文章浏览阅读9k次,点赞9次,收藏44次。讲解几种无线网络安全问题(Wireless Security)以及相应的解决方案。_wifi security

【基础知识】tiff格式图片介绍及读取-程序员宅基地

文章浏览阅读2.3w次,点赞26次,收藏121次。TIFF格式也叫TIF,属于位图格式,全名是。TIFF格式和JPEG及PNG都是属于一种主流且高位彩色图像格式。使用过扫描仪或传真的小伙伴应该还记得,很多品牌及其默认文件就是.tiff后缀。因为TIFF最初的设计目的就是在1980年左右,扫描仪厂商达成一个公用的统一的扫描图像文件格式,而不是每个厂商使用自己专有的格式造成混乱。TIFF是一种比较灵活的图像格式,它的全称是Tagged Image File Format,文件扩展名为TIF或 TIFF。_tiff格式

【干货】谈谈交互中容易混淆的各种“流”(产品经理必看)_节点交互与任务交互的区别-程序员宅基地

文章浏览阅读231次。当我决定想以最容易理解的方式来写一篇关于UX设计流程的文章时,我注意到了一个严重的问题——有的时候设计过程不符合一条单一的逻辑流线。 但是同一个工具怎么会同时有用却又难以理解呢? 所以我阅读了更多相关的内容,我开始慢慢理解。 在本文中,我将讨论从“流程图”到“用户流”的许多不同类型的视觉化图表之间的区别,也借这个机会浅谈为什么它会被这么多人误解。开始之前,我想先说明“流”(flow)这个术语在文中用来表示具有某种顺序或方向的图表。摹客支持PRD文档在线撰写、全貌画板和流程图模式,与富交互原型深度结合.._节点交互与任务交互的区别

Android Studio模拟器如何运行apk文件_android stodio怎么打开一个apk文件目录-程序员宅基地

文章浏览阅读2.1w次,点赞12次,收藏73次。Android手机软件都是以apk为后缀的,而apk文件在电脑中是无法直接运行的,需要在模拟器中安装和打开。如果使用Android Studio中的模拟器,首先需要打开自己的AVD模拟器。将apk文件复制到android studio安装目录里的androidsdk\platform-tools文件夹下(如下图所示文件夹)win+R运行cmd终端,运用指令cd切换到adb.exe所在文件夹下C:\Users\Lenovo>d:D:\>cd andriodD:\andriod&g_android stodio怎么打开一个apk文件目录

随便推点

qml红色下划线去除_qt 的qml文件中总是红色错误线-程序员宅基地

文章浏览阅读750次。红色下划线_qt 的qml文件中总是红色错误线

Kafka Consumer 执行 poll 操作时获取空数据的原因分析(2)_consumer.poll获取不到数据-程序员宅基地

文章浏览阅读6.1k次。上一个问题的回答:https://blog.csdn.net/weixin_37392582/article/details/1046851911. 场景当用户需要获取数据时,后端从指定 topic 下消费1条数据;每次操作的间隔为 0~;每个 topic 只有一个 消费者。2. 现象多个topic同时消费数据,经常出现“获取数据失败”的问题;所有的消费者均在一个 group 内。..._consumer.poll获取不到数据

SCRATCH 小游戏-程序员宅基地

文章浏览阅读6k次。scratch 小游戏《五连子》

修改caffe中resize的方式_caffe resize-程序员宅基地

文章浏览阅读824次。opencv的resize默认的是使用双线性插值INTER_LINEAR,也可以是尝试其他的方式进行插值操作if (param.random_interpolation_method()) { // 0: INTER_NEAREST // 1: INTER_LINEAR // 2: INTER_CUBIC // 3: INTER_AREA // 4: IN..._caffe resize

vue路由URL拼接全局参数_vue 在路由拦截里,给url加参数-程序员宅基地

文章浏览阅读3.3k次,点赞3次,收藏6次。vue-router地址栏URL拼接全局参数业务需求:vue单页面项目,需要在URL地址栏拼接固定的参数,在所有页面使用。默认采用vue路由的history模式;hash模式也可以同样适用。主要是在 vue-router 导航守卫的全局前置守卫中实现。即 vue-router 生命周期钩子函数 router.beforeEach 中进行路由拦截处理。主要代码:router.beforeEach((to, from, next) => { if (Object.keys(to.quer_vue 在路由拦截里,给url加参数

区块链学习笔记:DAY05 如何使用公有云区块链服务-程序员宅基地

文章浏览阅读1.3k次。这是最后一节课了,主要讲华为云在云区块链提供的服务,如何基于华为云BCS来构建应用先来个简单的比喻:1.有关BaaS的范围定义包含物理主机、虚拟主机、容器服务、区块链、智能合约和服务2.华为云区块链服务BCS3.华为云BCS特点:1)易用:一键部署,区块链系统全生命周期管理2.易用:可视化智能合约生命周期管理,多语言支持3)高可用:成员动态准入,..._公有云区块链服务

推荐文章

热门文章

相关标签