分布式架构-Redis 从入门到精通 完整案例 附源码

  篇幅较长,干货十足,阅读需要花点时间,全部手打出来的字,难免出现错别字,敬请谅解。珍惜原创,转载请注明出处,谢谢~!

分布式架构-Redis 从入门到精通 完整案例 附源码

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不满足将RedisLLOOGG这一款产品,而是希望更多的人使用它,于是在同一年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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wppddx.html