首页 站长素材内容详情

redis是什么数据库

2024-05-06 73 网站首席编辑

Redis和Memcached各有什么优缺点?主要的应用场景是什么

根据我的经验,在BAT里,redis已经逐渐取代了memcached,成为分布式场景广泛使用的缓存方案。接下来,我们就分析下,redis是如何取代memcached,成为开发者的宠儿的。

支持的存储类型不同

虽然都是内存数据库,memcached不仅能够存储string,还能够存储图片,视频等形式的文件。然而对于更多的使用内存数据库做缓存以及分布式方案的程序开发者来说,memcached提供的string格式存储,应用场景有限,而存储图片视频的功能又十分鸡肋(主要是没这方面需求)。相比之下,redis提供set,hash,list等多种类型的存储结构,对于做分布式缓存实在是再适合不过了。

redis是什么数据库

数据落盘

虽然大多数人使用缓存以及分布式方案都不会要求数据持久化,但是谁也不能保证不出现万一的情况。一旦发生稳定性问题,memcached挂掉后,数据是不可恢复的,而redis除了支持在配置里打开数据落盘(RDB),还能通过aof来找回数据。

内存空间与数据量

memcached可以修改最大内存,使用的是LRU算法,而redis目前底层使用了自己的VM,引入了新的特性突破了物理内存的限制。个人认为在这方面依然是redis更加优秀一些。

使用场景

基于以上提到的特点,基本我们就能分清redis与memcached的场景了。

如果对缓存数据类型超越了基本的数据结构,需要图片或者视频,多读少写,且数据量非常大的场景,那么一定要用memcached而不是redis了(比如微博大量查询好友信息,微博信息等,但是不是说微博用的是memcached方案哦)。

但是如果是对缓存的数据格式有更多的要求,且对安全性也有很高的要求的话,建议还是使用redis,这也是redis目前正在逐渐代替memcached的根本原因。

以上是我的浅见,欢迎各位在下方评论区与我沟通。

我是苏苏思量,来自BAT的Java开发工程师,每天分享科技类见闻,欢迎关注我,与我共同进步。

redis是什么数据库

Redis是一个非常快速的、开源的、使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、非关系类型的、Key-Value数据库,并提供多种语言的API。

Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。

相关标签: # Java # MC # Redis