该用哪个:Redis与Memcached之间如何选择呢?
华为云分布式缓存Redis5.0和Memcached都是华为云DCS的核心产品。
那么在不同的使用场景之下,如何选择Redis5.0和Memcached呢?
就由小编为大家进行详细的数据对比分析吧
Redis和Memcached都是非常受欢迎的开源内存数据库,相对关系型数据库,Redis和Memcached使用都简单,且具备高性能。
同为Key-Value数据库,我们该如何选择?
表1-1 Redis与Memcached的对比概览
|
对比项 |
Redis |
Memcached |
|
延时 |
内存数据库,亚毫秒级延时。 |
内存数据库,亚毫秒级延时。 |
|
易用性 |
语法简单,易用性强。 |
语法简单,易用性强。 |
|
分布式存储 |
支持集群方式水平扩展。 |
支持。 |
|
多语言客户端 |
支持Java、C、Python等三十几种语言的客户端连接。 |
支持Java、C、Python等十几语言的客户端连接。 |
|
线程/进程 |
单核单线程。 单线程通信,避免不必要的上下文切换与竞争。 采用非阻塞IO(IO多路复用),减少多客户端连接时的资源消耗。 |
支持多线程,可扩展。 可通过增加CPU数量,提升Memcached性能。 在key的value较大的场景中,性能优势较明显。 |
|
持久化存储 |
支持。 可将每一次写入操作(数据的增加、删除、修改)记录到磁盘文件(AOF文件)中。 |
不支持。 |
|
数据结构 |
支持哈希、列表、集合、有序集合等复杂的数据结构。有更多的应用场景 |
支持简单的字符串。 |
|
Lua脚本支持 |
支持。 |
不支持。 |
|
快照备份 |
支持。 快照定期产生,因此不能保证数据100%不丢失。 Redis会fork一个子进程用于生成快照,当数据较多时,可能产生Redis服务短暂中断。 |
不支持。 |
|
数据迁移 |
支持。 可通过RDB快照恢复,或者AOF文件回放的方式,将数据备份并迁移到新的Redis实例上。 |
不支持,因为不支持将数据备份、持久化存储。 由于不需要处理持久化,Memcached的数据处理效率更高。 |
|
Key的Value限制 |
Key的值最大可以有1G。 |
1M |
由以上对比可知,Redis与Memcached都具有简单易用,性能优越的特点。但在数据结构存储、持久化、备份与迁移、脚本支持等方面有所差异,建议您结合实际应用场景,选择最合适的缓存引擎。
文章内容来自华为云帮助中心
该用哪个:Redis与Memcached之间如何选择呢?的更多相关文章
- redis和memcached缓存
memcached memcache开源的,高性能,高并发分布式内存缓存系统,天生支持集群 memcached下载地址: http://memcached.org/downloads python实现 ...
- Redis与Memcached的区别
传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量 ...
- Redis和Memcached的区别详解
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/119.html?1455855360 Redis的作者Salvatore ...
- Redis和Memcached的区别
From: https://www.biaodianfu.com/redis-vs-memcached.html Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储 ...
- 白话Redis与Memcached区别
如果简单地比较Redis与Memcached的区别,外在的区别是: 1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储. 2 Redis ...
- 也谈谈 Redis 和 Memcached 的区别
本文作者: 伯乐在线 - 朱小厮 . 说到redis就会联想到memcached,反之亦然.了解过两者的同学有那么个大致的印象: redis与memcached相比,比仅支持简单的key-value数 ...
- 【转载】Redis与Memcached的区别
传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量 ...
- Redis 和 Memcached 的区别
来源:标点符 链接:http://www.biaodianfu.com/redis-vs-memcached.html Redis 的作者 Salvatore Sanfilippo 曾经对这两种基于内 ...
- Redis 和 Memcached 的区别详解
Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较: Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支 ...
随机推荐
- openstack neutron 简单理解
分析1)位于最上层的Neutron Server充当一个门派中的“掌门人”角色(RESTful Server),负责接受来自外部门派(项目)的API请求,比如Nova API创建网络的请求.2)位于中 ...
- DataFrame查找
一 通过索引取数据 (ix/loc/iloc) loc (根据索引名称取数据 , 适合多列) iloc (根据索引序号取数据, 适合多列) at (和loc类似,只用于取单列, 性能更好) ia ...
- Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:5
jsp页面出现如下异常: Stacktrace: at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServle ...
- LeetCode34.在排序数组中查找元素的第一个和最后一个位置 JavaScript
给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置. 你的算法时间复杂度必须是 O(log n) 级别. 如果数组中不存在目标值,返回 [ ...
- VS2017 编译 QT5.10.1 X64位 静态库 MT
参考文章 https://blog.csdn.net/Devout_programming/article/details/78827112 准备工作* Supported compiler (Vis ...
- MySQL无法启动重启竟是因为改了Linux主机名
MySQL无法重启.无法关闭.无法启动.无法使用,如果是因为修改了主机名,可以这样解决:关闭掉所有mysql进程,然后在启动一些mysql! 有时候,只要执行如下MySQL初始化命令即可解决:/usr ...
- NFS网络文件系统
FFS服务端概述 NFS,是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS: NFS允许一个系统在网络上与他人共享目录 ...
- springboot配置kafka生产者和消费者详解
在原有pom.xml依赖下新添加一下kafka依赖ar包 <!--kafka--> <dependency> <groupId>org.springframewor ...
- 在vim编辑器中实现python的tab补全
在vim编辑器中实现python的tab补全 在vim编辑器中实现python tab补全插件有Pydiction,Pydiction可以实现下面python代码的自动补全: 1.简单python ...
- Go语言 异常panic和恢复recover用法
Go语言 异常panic和恢复recover用法 背景:Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在 ...