redis从入门到入坑之1_概念
首先,redis是nosql阵营中的其中的一款产品。
1:NoSql :不仅仅是sql(泛指非关系型数据库的总称),这时对redis最通俗易懂的理解。
特点: 1:读(万/s)写(11万/s)速度快,(在运行的情况下)读写都是完全基于内存的,
2 :而且对memecache进行了扩展,支持跟多的数据类型(不单单是key-value)
3:单进程:对于key-value时value非常大,这时redis性能会下降(最常用的解决方法是 读写分离来分摊压力)
正是因为现在web服务的 高并发,到可扩,和高性能,以及海量,多样,实时性非常强的应用环境,才诞生了众多的nosql产品
3:NoSql和sql的区别
3.1 nosql是对sql的扩展,用来解决sql(传统关系型数据库)在高访问量时所遇到的问题。
3.2 CAP + BASE 原则 和ACID原则。
C :强一致性 , A:系统的可用性 ,P:分区容错性 ( 可以参考这个帅哥的博文来理解这3个内容,https://blog.****.net/zhangyufeijiangxi/article/details/78286364)。而关系型数据库为了满足了ACID原则,在分区容错性上有比较大的问题,而分区容错性在分布式系统中非常重要,甚至是必须的。这时,nosql这种产品就出现了。
这3个原则中,关系型数据库满足了CA,非关系型数据库满足了CP。这就是 sql + nosql 实现高并发系统的基础和前提。