Redis 是一个高性能的Key-value数据库,很多公司使用的mysql+Memcached架构,这个架构适合存储海量数据,但随着业务的增加会出现很多问题。
举例:
MySQL 数据库经常拆表,导致 Memcached 也不断扩容;同步问题;命中率低,导致直接穿透 Memcached 进入 DB 查询,DB资源池是有限的,进而宕机,这些都会导致Memcached不好用
Redis的出现就是为了解决这个问题的。
Redis的特性:
特性一,速度极快。官方给出的数据是 10 万次 ops 的读写,这主要归功于这些数据都存在于内存中。由于 Redis 是开源的,当你打开源代码,就会发现 Redis 都是用 C 语言写的,C 语言是最接近计算机语言的代码,而且只有区区 5 万行,保证了 Redis 的速度。同时一个 Redis 只是一个单线程,其真正的原因还是因为单线程在内存中是效率最高的。
特性二,持久化。Redis 的持久化可以保证将内存中的数据每隔一段时间就保存于磁盘中,重启的时候会再次加载到内存。持久化方式是 RDB 和 AOF。
特性三,支持多种数据结构。分别支持哈希、集合、BitMaps,还有位图(多用于活跃用户数等统计)、H