- 浏览: 477768 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (502)
- Java (70)
- Linux (10)
- 数据库 (38)
- 网络 (10)
- WEB (13)
- JSP (4)
- 互联网 (71)
- JavaScript (30)
- Spring MVC (19)
- HTML (13)
- CSS (3)
- AngularJS (18)
- Redis (5)
- Bootstrap CSS (1)
- ZooKeeper (4)
- kafka (6)
- 服务器缓存 (4)
- Storm (1)
- MongoDB (9)
- Spring boot (16)
- log4j (2)
- maven (3)
- nginx (5)
- Tomcat (2)
- Eclipse (4)
- Swagger (2)
- Netty (5)
- Dubbo (1)
- Docker (7)
- Hadoop (12)
- OAuth (1)
- webSocket (4)
- 服务器性能 (7)
- Session共享 (1)
- tieye修改 (1)
- 工作 (1)
- 有用的语录 (0)
- https (2)
- common (5)
- 产品开发管理 (1)
- CDN 工作原理 (1)
- APNS、GCM (1)
- 架构图 (3)
- 功能实现分析 (1)
- JMX (1)
- 服务器相关操作命令 (1)
- img02 (0)
- 服务器环境搭建 (9)
- goodMenuBook (1)
- CEInstantPot (0)
- 有用数据 (1)
- 百度地图WEB API (2)
- 正则表达式 (1)
- 样式例子 (2)
- staticRecipePressureCooker.zip (1)
- jCanvas (1)
- 网站攻击方法原理 (1)
- 架构设计 (3)
- 物联网相关 (3)
- 研发管理 (7)
- 技术需求点 (1)
- 计划 (1)
- spring cloud (11)
- 服务器开发的一些实用工具和方法 (1)
- 每天学到的技术点 (4)
- Guava (1)
- ERP 技术注意要点 (2)
- 微信小程序 (1)
- FineRepor (1)
- 收藏夹 (1)
- temp (5)
- 服务架构 (4)
- 任职资格方案 (0)
- osno_test (1)
- jquery相关 (3)
- mybatis (4)
- ueditor (1)
- VueJS (7)
- python (10)
- Spring EL (1)
- shiro (1)
- 前端开发原理与使用 (7)
- YARN (1)
- Spark (1)
- Hbase (2)
- Pig (2)
- 机器学习 (30)
- matplotlib (1)
- OpenCV (17)
- Hystrix (1)
- 公司 (1)
- miniui (4)
- 前端功能实现 (3)
- 前端插件 (1)
- 钉钉开发 (2)
- Jenkins (1)
- elasticSearch使用 (2)
- 技术规范 (4)
- 技术实现原理 (0)
最新评论
原文:http://bluenemo.iteye.com/blog/2157736
Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载. 它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度.
Redis是一个key-value存储系统,和Memcached类似。
数据一致性问题
Memcached提供了cas命令,可以保证多个并发访问操作同一份数据的一致性问题。
Redis没有提供cas 命令,并不能保证这点,不过Redis提供了事务的功能,可以保证一串 命令的原子性,中间不会被任何操作打断。
内存管理方面
Memcached使用预分配的内存池的方式,使用slab和大小不同的chunk来管理内存,Item根据大小选择合适的chunk存储,内存池的方式可以省去申请/释放内存的开销,并且能 减小内存碎片产生,但这种方式也会带来一定程度上的空间浪费,并且在内存仍然有很大空间时,新的数据也可能会被剔除。
Redis使用现场申请内存的方式来存储数据,并且很少使用free-list等方式来优化内存分配,会在一定程度上存在内存碎片,Redis跟据存储命 令参数,会把带过期时间的数据单独存放在一起,并把它们称为临时数据,非临时数据是永远不会被剔除的,即便物理内存不够,导致swap也不会剔除任何非临 时数据(但会尝试剔除部分临时数据),这点上Redis更适合作为存储而不是cache。
存储方式及其它方面
Memcached基本只支持简单的key-value存储,不支持枚举,不支持持久化和复制等功能。
Redis除key/value之外,还支持list,set,sorted set,hash等众多数据结构。
关于不同语言的客户端支持
在不同语言的客户端方面,Memcached和Redis都有丰富的第三方客户端可供选择,不过因为Memcached发展的时间更久一些,目前看在 客户端支持方面,Memcached的很多客户端更加成熟稳定,而Redis由于其协议本身就比Memcached复杂,加上作者不断增加新的功能等,对 应第三方客户端跟进速度可能会赶不上,有时可能需要自己在第三方客户端基础上做些修改才能更好的使用。
当我们不希望数据被踢出,或者需要除key/value之外的更多数据类型时,或者需要落地功能时,使用Redis比使用Memcached更合适。否则使用Memcached。
Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载. 它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度.
Redis是一个key-value存储系统,和Memcached类似。
数据一致性问题
Memcached提供了cas命令,可以保证多个并发访问操作同一份数据的一致性问题。
Redis没有提供cas 命令,并不能保证这点,不过Redis提供了事务的功能,可以保证一串 命令的原子性,中间不会被任何操作打断。
内存管理方面
Memcached使用预分配的内存池的方式,使用slab和大小不同的chunk来管理内存,Item根据大小选择合适的chunk存储,内存池的方式可以省去申请/释放内存的开销,并且能 减小内存碎片产生,但这种方式也会带来一定程度上的空间浪费,并且在内存仍然有很大空间时,新的数据也可能会被剔除。
Redis使用现场申请内存的方式来存储数据,并且很少使用free-list等方式来优化内存分配,会在一定程度上存在内存碎片,Redis跟据存储命 令参数,会把带过期时间的数据单独存放在一起,并把它们称为临时数据,非临时数据是永远不会被剔除的,即便物理内存不够,导致swap也不会剔除任何非临 时数据(但会尝试剔除部分临时数据),这点上Redis更适合作为存储而不是cache。
存储方式及其它方面
Memcached基本只支持简单的key-value存储,不支持枚举,不支持持久化和复制等功能。
Redis除key/value之外,还支持list,set,sorted set,hash等众多数据结构。
关于不同语言的客户端支持
在不同语言的客户端方面,Memcached和Redis都有丰富的第三方客户端可供选择,不过因为Memcached发展的时间更久一些,目前看在 客户端支持方面,Memcached的很多客户端更加成熟稳定,而Redis由于其协议本身就比Memcached复杂,加上作者不断增加新的功能等,对 应第三方客户端跟进速度可能会赶不上,有时可能需要自己在第三方客户端基础上做些修改才能更好的使用。
当我们不希望数据被踢出,或者需要除key/value之外的更多数据类型时,或者需要落地功能时,使用Redis比使用Memcached更合适。否则使用Memcached。
发表评论
-
elasticSearch使用
2022-04-27 08:42 335ElasticSearch 基于Apache Lucene构建 ... -
IDEA 快捷键
2022-03-02 16:55 210大小写转换快捷键 ctr+shift+u IDEA ... -
每天学到的技术点3
2022-02-21 20:01 2191.TEXT与BLOB的区别,二者 ... -
zookeeper dubbo 安装
2021-12-04 19:27 287docker-machine ssh default d ... -
JVM 调优与测试
2021-05-22 22:24 537VisualVM 能够监控线程,内存情况,查看方法的CPU ... -
百度人脸识别
2021-05-21 16:11 330package com.gaojinsoft.htwy.y20 ... -
springboot tomcat 参数配置与数据库连接池多少的性能分析
2021-05-12 22:15 522参数配置与数据库连接池多少的性能分析 tomcat线程数 ... -
log4j2应用
2020-07-23 14:16 333https://blog.csdn.net/giventian ... -
文件上传下载
2020-07-06 13:16 3601.文件ID,名字(源,目标),大小,路径(/aa/bb/s. ... -
base64与file 相互转换
2019-10-23 18:19 717base64与file 相互转换 import org. ... -
百度身份证识别
2019-10-18 18:19 553package com.gaojinsoft.htwy.y20 ... -
JAVA 实用方法
2019-05-16 09:50 319//得到xml文件中的sql文本 public St ... -
导出内容到excel文件方法
2019-05-15 10:52 479@SuppressWarnings("rawtype ... -
要求fsss
2019-09-21 21:30 264/* */ package com.midea.com ... -
反射、类信息、动态代理、CGLIB动态代理原理与测试
2019-01-29 21:04 446package com.midea.common.classT ... -
JVM 监控工具
2019-01-21 18:04 349JVM 监控工具 //========== ... -
java 线程池线程复用原理
2019-01-15 17:10 1127java 线程池线程复用原理 其实就一个大run()把其 ... -
LockSupport原理
2019-01-11 18:01 657LockSupport原理 在Java语言中,每一个对象有 ... -
runnable与thread 区别
2019-01-11 14:49 648runnable与thread 区别 在java中可有两种 ... -
Java的Future模式
2019-01-11 10:08 400Java的Future模式 runnable与thread ...
相关推荐
分布式缓存 Redis + Memcached 经典面试题!
分布式缓存 Redis + Memcached 经典面试题!
互联网分布式缓存技术 课程主讲: 互联网应用高级架构师 白贺翔涉及技术: Redis、SSDB、Memcached课程描述: 介绍互联网分布式技术的重要性、背景、应用范围;目前互联网行业使用分布 式缓存进行设计的比例,...
不光有含金量,还很有颜值。 Redis-vs-Memcached-Infographic-ScaleGrid-Blog
支持多个后端(内存,redis和memcached)的Asyncio缓存。 该库旨在简化而不是专业化。 所有缓存都包含相同的最小接口,该接口包含以下功能: add :仅在键不存在时才添加键/值。 get :检索由键标识的值。 set :...
数据平台缓存技术方案Memcached-Redis[汇编].pdf
一个现代化的替代品,可用于替代Redis和Memcached。它提供了高性能和可扩展的内存存储解决方案,适用于各种应用场景。Dragonfly的设计目标是提供更好的性能、更好的扩展性和更好的稳定性,成为一个可靠的内存缓存和...
NULL 博文链接:https://aperise.iteye.com/blog/2296219
mon-cache 是 mongoose 缓存到 redis、memcached 或 lru-cache。 这利用了 npm 模块缓存客户端。 初始化 lru缓存 options = { store : "memory" } ; require ( 'mon-cache' ) ( mongoose , options ) ; Redis ...
Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较: 1.Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你...
Memcached是以LiveJurnal旗下Danga Interactive公司的Bard Fitzpatric为首开发的高性能分布式内存缓存服务器...那么redis与memcached有什么区别呢?下面小编给大家介绍下redis与memcached的区别,感兴趣的朋友参考下吧
数据平台前端缓存技术方案Memcached-Redis.v1.0[汇编].pdf
memcached,redis性能测试,内存缓存系统的性能测试;
输出缓存 使用Redis,Memcached或任何其他缓存提供程序来缓存api响应,做出React以及执行更多操作。为什么? 简单的中间件-它将缓存每个响应的输出和标头。 如果使用像React这样的较重的渲染引擎,则可以轻松地创建...
redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcached类似,但很大程度补偿了memcached的不足,它支持存储的value类型相对更多。技术博客http://blog.csdn.net/zcjfzcjf
第一级缓存使用内存(同时支持 Ehcache 2.x、Ehcache 3.x 和 Caffeine),第二级缓存使用 Redis(推荐)/Memcached 。 由于大量的缓存读取会导致 L2 的网络成为整个系统的瓶颈,因此 L1 的目标是降低对 L2 的读取次数。 ...
第九章 企业项目开发--分布式缓存Redis(1)注意:本章代码将会建立在上一章的代码基础上,上一章链接《第八章 企业项目开发--分布式缓存memcached》
7.在选择缓存时,什么时候选择 redis,什么时候选择 memcached 8.缓存与数据库不一致怎么办 9.主从数据库不一致如何解决 10.Redis 常见的性能问题和解决方案 11.Redis 的数据淘汰策略有哪些 12.Redis 当中有哪些数据...