redis(NoSQL)的简单理解
什么是NoSQL?
NoSQL,被称为非关系型数据库,区别于关系数据库,它们不保证关系数据的ACID特性。其优点是适用于高并发的读写操作,高响应,易扩展,高可用等特点。
为什么要用nosql
随着互联网的高速崛起,网站的用户群的增加,访问量的上升,传统数据库上都开始出现了性能瓶颈,web程序不再仅仅专注在功能上,同时也在追求性能。web2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信息,所以基本上无法使用动态页面静态化技术,因此数据库并发负载非常高,往往要达到每秒上万次读写请求。关系数据库应付上万次SQL查询还勉强顶得住,但是应付上万次SQL写数据请求,硬盘IO就已经无法承受了。其实对于普通的BBS网站,往往也存在对高并发写请求的需求,例如新浪微博的某个明星的一次微博可能会有上百万次,上千万次的点赞及评论,在关系型数据库来说就是上千万条sql,根本顶不住这么频发的操作。而nosql的出现就解决的诸多问题。
4种非关系型数据库之间的对比
redis的数据类型
redis一共适用于五种数据类型,分别是string,list,set,hash,zset。以key-value的形式存储。
数据结构图