PS:web1.0指的是像搜狐那些门户网站,那些内容是网站提供给用户的。web2.0指的是用户产生内容,如微博这些,产生的数据是无规律的,所以设计不了关系型数据库储存这些无规律的数据。
一般互联网公司都用mysql ,一般金融公司都用oracle。 sql server、oracle、还有mysql都是关系型数据库,他们之所以叫关系型数据库是因为他们数据之间有非常强烈的关系(外键,关联等等)。
redis是属于NoSQL数据库中的一种。并不是redis就是 NoSQL,redis是一个第三方的软件。
redis是业界主流的key-value nosql 数据库之一。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
异常快速 : Redis是非常快的,每秒可以执行大约110000设置操作,81000个/每秒的读取操作。
支持丰富的数据类型 : Redis支持最大多数开发人员已经知道如列表,集合,可排序集合,哈希等数据类型。
操作都是原子的 : 所有 Redis 的操作都是原子,从而确保当两个客户同时访问 Redis 服务器得到的是更新后的值(最新值)。
$sudo apt-get update
$sudo apt-get install redis-server
启动 Redis
$redis-server
查看 redis 是否还在运行
$redis-cli
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> ping
PONG
NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库,随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。(微博,微信这些用关系型数据库搞不定的,只能用非关系型数据库)
键值(Key-Value)存储数据库
用二分查找法查32次就能查找42亿的数据,只要查33次就可以查到世界上所有的每一个人。这就是字典的好处,一般来说数据量大的,就用字典而不用列表存数据