既然有Map了,为什么还要有Redis? | 您所在的位置:网站首页 › 什么是xml,xml的特点有哪些 › 既然有Map了,为什么还要有Redis? |
以下内容转自掘金 作者:哪吒编程 ![]() 1.优点 Redis是KV数据库,MySQL是关系型数据库,Redis速度更快;Redis数据操作主要在内存中,MySQL主要将数据存储在硬盘,Redis速度更快;Redis同样支持持久化(RDB+AOF),Redis支持将数据异步将内存的数据持久化到硬盘上,避免Redis宕机出现数据丢失的问题;Redis性能极高,读的速度是110000次/秒,写的速度是81000次/秒;Redis数据类型丰富,不仅支持KV键值对,还支持list、set、zset、hash等数据结构的存储;Redis支持数据的备份,即master-slave模式的数据备份;Redis支持简单的事务,操作满足原子性;Redis支持读写分离,分担读的压力;Redis支持哨兵模式,实现故障的自动转移;单线程操作,避免了频繁的上下文切换;采用了非阻塞I/O多路复用机制,性能卓越;2.缺点 数据存储在内存,容易造成数据丢失;存储容量受内存的限制,只能存储少量的常用数据;缓存和数据库双写一致性问题;用于缓存时,容易出现内存穿透、缓存击穿、缓存雪崩的问题;修改配置文件后,需要进行重启,将硬盘中的数据同步到内存中,消耗的时间较长,而且数据同步的时间里Redis不能提供服务; Redis常见业务场景 Redis是基于内存的nosql数据库,可以通过新建线程的形式进行持久化,不影响Redis单线程的读写操作通过list取最新的N条数据模拟类似于token这种需要设置过期时间的场景发布订阅消息系统定时器、计数器缓存加速、分布式会话、排行榜、分布式计数器、分布式锁;Redis支持事务、持久化、LUA脚本、发布/订阅、缓存淘汰、流技术等特性;![]() Redis是一个key-value存储系统,支持10种数据类型,总结了为何要用Redis替代map作为程序缓存、Redis为什么是单线程的、Redis的优缺点、Redis的常用场景,做了一次Redis的快速入门。 |
CopyRight 2018-2019 实验室设备网 版权所有 |