篇幅较长,干货十足,阅读需要花点时间,全部手打出来的字,难免出现错别字,敬请谅解。珍惜原创,转载请注明出处,谢谢~!
NoSql介绍与Redis介绍 什么是Redis?Redis是用C语言开发的一个开源的高性能键值对(key-value)内存数据库。
它提供五种数据类型来存储值:字符串类型、散列类型、列表类型、集合类型、有序类型。
它是一种NoSql数据库。
什么是NoSql?NoSql,即Not-Only Sql(不仅仅是SQL),泛指非关系型的数据库。
什么是关系型数据库?数据结构是一种有行有列的数据库。
NoSql数据库是为了解决高并发、高可用、高可扩展、大数据存储问题而产生的数据库解决方案。
NoSql可以作为关系型数据库的良好补充,但是不能替代关系型数据库。
NoSql数据库分类 键值(key-value)存储数据库相关产品:Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley Db等
典型应用:内存缓存,主要用于处理大量数据的高访问负载
数据模型:一系列键值对
优势:快速查询
劣势:存储的数据缺少结构化
列存储数据库相关产品:Cassandra、Hbase、Riak
典型应用:分布式的文件系统
数据模型:以列簇式存储,将同一列数据存在一起
优势:查找速度快,可扩展性强,更容易进行分布式扩展
劣势:功能相对局限
文档型数据库相关产品:CouchDB、MongoDB
典型应用:web应用(与key-value类似,value是结构化的)
数据模型:一系列键值对
优势:数据结构要求不严格
劣势
图形(Graph)数据库相关数据库:Neo4J、InfoGrid、Infinite、Graph
典型应用:社交网络
数据模型:图结构
优势:利用图结构先关算法
劣势:需要对整个图做计算才能得出结果,不容易做分布式的集群方案。
Redis历史发展2008年,意大利的一家创业公司Merzia推出了一款给予MySql的网站实时统计系统LLOOGG,然而没过多久该公司的创始人Salvatore Sanfilippo便对MySql的性能感到失望,于是他决定亲力为LLOOGG量身定做一个数据库,并于2009年开发完成,这个数据库就是Redis。
不过Salvatore Sanfilippo并不满足只将Redis用于LLOOGG这一款产品,而是希望更多的人使用它,于是在同一年Salvatore Sanfilippo将Redis开源发布。
并开始和Redis的另一名主要的代码贡献者Pieter Noordhuis一起继续着Redis的开发,直到今天。
Salvatore Sanfilippo自己也没有想到,短短的几年时间,Redis就拥有了庞大的用户群体。Hacker News在2012年发布一份数据库的使用请款调查,结果显示有近12%的公司在使用Redis。国内如新浪微博、街旁网、知乎网、国外如GitHub、Stack、Overflow、Flickr等都是Redis的用户。
VmWare公司从2010年开始赞助Redis的开发,Salvatore Sanfilippo和Pieter Noordhuis也分别在3月和5月加入VMware,全职开发Redis。
Redis的应用场景内存数据库(登录信息、购物车信息、用户浏览记录等)
缓存服务器(商品数据、广告数据等等)(最多使用)
解决分布式集群架构中的Session分离问题(Session共享)
任务队列。(秒杀、抢购、12306等等)
支持发布订阅的消息模式
应用排行榜
网站访问统计
数据过期处理(可以精确到毫秒)
Redis安装及配置官网地址:https://redis.io/
中文官网地址:
下载地址:
Linux环境下安装Redis注:将下载后的Redis拖进Linux需要安装下,VMware Tools,参考链接
将下载后的Redis拖进linux