⼀个用c语言开发的、基于内存结构进行键值对键值对 数据存储的、高性能的、非关系型数据库 (NoSQL)。
支持类型
-
String 字符串
-
hash 散列表
-
list 列表
-
set 集合
-
zset (sorted set) 有序集合
特点
-
基于内存存储、数据读取效率高
-
持久化(RDB(默认) 和AOF )
-
基于key-value存储,支持多种数据类型
-
支持主从、哨兵、集群模式
应用场景
-
缓存:提高数据访问速度、减少数据库访问压力
-
点赞、排行榜、计数器、签到等功能(对实时的读写要求高,对数据库一致性要求不太高)
-
分布式锁
-
分布式会话(session )
-
消息队列
优缺点
优点
-
基于内存结构,性能极高
-
基于key-value存储,支持多种数据类型
-
原子性操作,用过Lua脚本将多个操作合并为一个原子操作(事务)
-
基于单线程操作,多路复用实现了高性能读写
缺点
-
缓存数据和数据库数据需要进行俩次写操作,才能保证数据一致性
-
存在缓存穿透、击穿、雪崩等问题
-
重启时间久、无法提供服务
-
不具备自动容错和恢复功能