本文转载自简书用户(我没有三颗心脏)https://www.jianshu.com/p/56999f2b8e3b,摘录仅供加深学习印象。
一、Redis概述
在日常的Java Web开发中,都是使用数据库来进行数据的存储,一般系统任务不会存在高并发的情况,所以这样看起来并没有什么大问题,但是一旦涉及大数据量的需求,比如一些商品抢购的情景,或是主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度比较慢的问题二存在严重的性能弊端,一瞬间成千上万的请求到来,需要系统在极短时间内完成成千上万次的读/写操作,这个时候不是数据库能够承担的,很容易造成数据库系统瘫痪,最终导致服务宕机的严重生产问题。
二、NoSQL技术
为了克服上述问题,Java Web项目通常会引入NoSQL技术,这是一种基于内存的数据库,并且提供一定的持久化功能。
Redis和MongoDB是当前使用最广泛的NoSQL,而就Redis技术而言,其性能非常优越,可以支持每秒十几万次的读写操作,其性能远超数据库,并且还支持集群、分布式、主从同步等配置,原则上可以无限扩展,让更多的数据存储在内存中,更让人欣慰的是它还支持一定的事务能力。这保证了高并发的场景下数据的安全和一致型。
待续……