简单的来说,redis就是一个数据库,与传统的数据库不同,redis的数据是储存的内存中,所以他的读写速度快,一般常作为缓存来使用。也会用分布式锁。
从两个方面来说:高并发和高性能
高性能:
用户在第一次访问数据库中的某一些数据,会很慢,这是因为是从硬盘中读取,如果将数据存储在缓存中,再当用户访问这些数据是,那么就会从缓存中读取,所以速度就会很快,假如数据库的数据进行修改,只要同步修改缓存中的数据就行。
高并发:
redis适合少写多读
Redis:
支持数据持久化,可以将内存中的数据存储到硬盘中,重启的时候可以再次加载进行使用,还支持多种数据结构key-value类型,list,set,zset,hash等数据结构的存储,并且支持数据备份。
缓存穿透:
内存和数据库中都没数据,而用户的请求一直不断
缓存雪崩:
缓存中数据大批量到过期时间,而查询数据量巨大,引起数据库压力过大甚至down机。
缓存击穿:
热点key在某个时间点过期的时候,而恰好在这个时间点对这个Key有大量的并发请求过来,从而大量的请求打到db。