为什么要使用Redis
主要原因
高并发
从高并发上来说,直接操作缓存能够承受的请求是远远大于直接访问数据库的。
所以我们可以考虑把数据库中的部分数据转移到缓存中去。
这样用户的一部分请求会直接到缓存这里而不用经过数据库。
高性能
从高性能上来说,用户第一次访问数据库中的某些数据,因为是从硬盘上读取的,所以这个过程会比较慢。
将该用户访问的数据存在缓存中,下一次再访问这些数据的时候,就可以直接从缓存中获取了。
操作缓存就是直接操作内存,所以速度相当快。
使用Redis而不使用其他的如Java自带的map或guava的原因
缓存分为本地缓存和分布式缓存。
像map或者guava就是本地缓存。
本地缓存最主要的特点是轻量以及快速,生命周期随着jvm的销毁而结束。
在多实例的情况下,每个实例都需要各自保存一份缓存,缓存不具有一致性。
使用redis或memcached之类的称为分布式缓存。
在多实例的情况下,各实例共用一份缓存数据,缓存具有一致性。
参考资料:为什么要使用Redis?