Redis和Memcached的区别


redis VS memcached

一、定义

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

Memcached 是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但被许多网站使用。这是一套开放源代码软件,以BSD license授权发布。

以上内容来着百度词条

二、区别

1、类型

redis是一个开源的内存数据结构储存系统,用作数据库,缓存和消息代理;在redis中,并不是所有的数据都一直存储在内存中的,部分储存在服务器。

memcached是一个免费的免费的开源高性能分布式内存对象缓存系统,所有的数据都是储存在内存中,它通过减少数据库负载来加速动态web应用程序。

2、数据结构

redis支持字符串、散列、列表、集合、有序集合、位图、超级日志和空间索引。

memcached支持字符串和整数。

3、执行速度

memcached的数据储存在内容中,因而读写速度高于redis。

4、复制

memcached不支持复制,而redis主持主从复制,允许从属redis服务器成为主服务器的精确副本;来自任何redis服务器的数据都可以复制到任意数量的从属服务器。

5、密钥长度

redis的密钥长度最大为2GB,而memcached的密钥长度最大为250字节。

6、线程

redis是单线程的,memcached是多线程的。在100k以上的储存数据,memcached性能要高于redis,虽然redis在储存大数据的性能上进行了优化,但是比起memcached还是稍有逊色。

7、集群管理

memcached不支持持久化和分布式,redis支持持久化和分布式。memcached只能采用客户端实现分布式储存,redis偏向于在服务器端构建分布式储存。

三、选择

redis更多场景是作为memcached的代替者来使用,但需要出key-value之外的更多数据类型支持或储存的数据不能被剔除是,使用redis跟合适。如果只做缓存的话,memcached已经足够应付绝大部分的需求,redis的出现知识提供了一个更加好的选项。实际使用还是得根据自己的需求来定。

以上内容参考:

https://www.php.cn/faq/415539.html

https://www.cnblogs.com/middleware/articles/9052394.html

你可能感兴趣的:(Redis和Memcached的区别)