读读Redis的官网,学第一手的资料:Redid官方文档地址
Redis中国-文档网址:Redis中国-文档地址
或者看看书《Redis 深度历险: 核心原理和应用实践》
微博Redis小王子:微博Redis小王子
1、用缓存,主要有两个用途,高性能和高并发。
1.1 高性能
例如一个查询请求,到MySQL数据库中查询花了100ms。现在把数据扔缓存里,一个 key 对应一个 value,下次再有人查,别走 MySQL 耗费 100ms 了,直接从缓存里,通过一个 key 查出来一个 value,2ms 搞定。性能(速度)提升 50 倍。
1.2 高并发
首先,MySQL 单机支撑到 2000QPS 估计就开始报警了。尽管可以做集群支撑更高的QPS,但是MySQL 天生不能很好的支撑高并发。
所以要是你有个系统,高峰期一秒钟过来的请求有 1 万,那一个 MySQL 单机绝对会宕机死掉。你用缓存,单机支撑的 并发量轻松一秒几万十几万,缓存的单机承载并发量是 MySQL 单机的几十倍。
缓存走内存,内存天然支撑高并发。
2、用了缓存之后会有什么不良后果?
常见的缓存问题有以下几个:
2.1 缓存(如Redis),假如宕机了怎么办,如何保证高可用?
2.2 缓存与数据库双写不一致
2.3 缓存雪崩、缓存穿透
2.4 缓存并发竞争(多个客户端并发写一个key)
3、去Redis官网去看看它能干什么
Redis is an open source (BSD licensed), in-memory data structure store used as a database,
cache, message broker, and streaming engine. Redis provides data structures
such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps,
hyperloglogs, geospatial indexes, and streams. Redis has built-in replication,
Lua scripting, LRU eviction, transactions, and different levels of on-disk persistence,
and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.