redis是缓存数据库,存取速度非常快,常用来做缓存加速。redis的持久化算是弱项,选择redis就是为了性能,不建议将redis用来保持数据一致性的场景。redis又是开源数据库,相对于商业数据库,稳定可靠性要欠缺一些。
因此使用redis就是选择高性能,使用其他方式来实现可靠性和一致性。
1. 第一类场景是作为高并发查询结果的缓存。例如门户首页信息,黑白名单信息的等。此类信息查询多,不经常变化。相对于传统关系型数据库,性能提升很大,减少传统数据库的压力。如果redis失效,应用还能够查询数据库获取结果。
2. 第二类场景是作为动态计算数据的缓存。此类动态数据经常变化,例如缓存数据对象的最新一次状态。通常用在实时数据处理等场景。最终结果还是要存在数据库来保证持久化。redis内查不到的数据需要回表查询并缓存在redis里面。
3. 第三类场景是redis作为任务队列。这个是redis原生支持的功能。