没有合适的资源?快使用搜索试试~ 我知道了~
#第一章 NoSQL数据库发展历史简介#1、 Web的历史发展历程web1.0时代简介web 1.0是以编辑为特征,网站提供给用户的内容是网站编辑进行编辑处理后
资源推荐
资源详情
资源评论
性能要求:基本上就是一些简单的静态页面渲染,不会涉及太多复杂业务逻辑,功能简单单一,基本上
服务器性能不会有太大压力
web2.0时代简介
更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是网站内容的制造者
加强了网站与用户之间的互动,网站内容基于用户提供(微博、天涯社区、自媒体) 大数据推荐
网站的诸多功能也由用户参与建设,实现了网站与用户双向的交流与参与
用户在web2.0网站系统内拥有自己的数据,并完全基于WEB,所有功能都能通过浏览器完成。
性能要求:
随着Web2.0时代到来,用户访问量大幅提升,同时产生大量用户数据。加上后来移动设备普及,所
有的互联网平台都面临了巨大的性能挑战。数据库服务器压力越来越大
如何应对数据库的压力成为的关键。不管任何应用,数据始终是核心。传统关系型数据库根本无法
承载较高的并发,此时人们就开始用Redis当成缓存,来缓解数据库的压力
#2、什么是NoSQL
NoSQL最常见的解释是"non-relational", 很多人也说它是"Not Only SQL"
NoSQL仅仅是一个概念,泛指非关系型的数据库
区别于关系数据库,它们不保证关系数据的ACID特性
NoSQL是一项全新的数据库革命性运动,提倡运用非关系型的数据存储,相对于铺天盖地的关系型
数据库运用,这一概念无疑是一种全新的思维的注入
#3、NoSQL的特点 关系型数据库的补充
应用场景:
高并发的读写 10w/s
海量数据读写
高可扩展性 不限制语言、lua脚本增强
速度快
不适用场景:
需要事务支持
基于sql的结构化查询存储,处理复杂的关系,需要即席查询(用户自定义查询条件的查询)
政府银行金融项目,还是使用关系型数据库。oracle
#4、NoSQL数据库
memcache
很早出现的NoSql数据库
数据都在内存中,一般不持久化
支持简单的key-value模式
一般是作为缓存数据库辅助持久化的数据库
redis介绍
几乎覆盖了Memcached的绝大部分功能
数据都在内存中,支持持久化,主要用作备份恢复
除了支持简单的key-value模式,还支持多种数据结构的存储,比如 list、set、hash、zset等。
一般是作为缓存数据库辅助持久化的数据库
现在市面上用得非常多的一款内存数据库
mongoDB介绍
高性能、开源、模式自由(schema free)的文档型数据库
数据都在内存中, 如果内存不足,把不常用的数据保存到硬盘
虽然是key-value模式,但是对value(尤其是json)提供了丰富的查询功能
支持二进制数据及大型对象
可以根据数据的特点替代RDBMS,成为独立的数据库。或者配合RDBMS,存储特定的数据。
列式存储HBase介绍
HBase是Hadoop项目中的数据库。它用于需要对大量的数据进行随机、实时读写操作的场景中。HBase
的目标就是处理数据量非常庞大的表,可以用普通的计算机处理超过10亿行数据,还可处理有数百万列
元素的数据表。
#第二章 Redis介绍
redis官网地址:
https://redis.io/open in new window
中文网站
http://www.redis.cn/open in new window
#1、Redis的基本介绍
Redis是当前比较热门的NoSQL系统之一
它是一个开源的、使用ANSI C语言编写的key-value存储系统(区别于MySQL的二维表格形式存储)
和Memcache类似,但很大程度补偿了Memcache的不足,Redis数据都是缓存在计算机内存中,不
同的是,Memcache只能将数据缓存到内存中,无法自动定期写入硬盘,这就表示,一断电或重
启,内存清空,数据丢失
#2、Redis的应用场景
# 2.1 取最新N个数据的操作
比如典型的取网站最新文章,可以将最新的5000条评论ID放在Redis的List集合中,并将超出集合部分从数
据库获取
# 2.2.排行榜应用,取TOP N操作
这个需求与上面需求的不同之处在于,前面操作以时间为权重,这个是以某个条件为权重,比如按顶的
次数排序,可以使用Redis的sorted set,将要排序的值设置成sorted set的score,将具体的数据设置成相
应的value,每次只需要执行一条ZADD命令即可。
# 2.3需要精准设定过期时间的应用
比如可以把上面说到的sorted set的score值设置成过期时间的时间戳,那么就可以简单地通过过期时间排
序,定时清除过期数据了,不仅是清除Redis中的过期数据,你完全可以把Redis里这个过期时间当成是对
数据库中数据的索引,用Redis来找出哪些数据需要过期删除,然后再精准地从数据库中删除相应的记
录。
# 2.4计数器应用
Redis的命令都是原子性的,你可以轻松地利用INCR,DECR命令来构建计数器系统。
# 2.5Uniq操作,获取某段时间所有数据排重值
这个使用Redis的set数据结构最合适了,只需要不断地将数据往set中扔就行了,set意为集合,所以会自
动排重。
# 2.6实时系统,反垃圾系统
通过上面说到的set功能,你可以知道一个终端用户是否进行了某个操作,可以找到其操作的集合并进行
分析统计对比等。没有做不到,只有想不到。
# 2.7缓存
将数据直接存放到内存中,性能优于Memcached,数据结构更多样化。
#3、Redis的特点
高效性 (内存)
Redis读取的速度是30w次/s,写的速度是10w次/s
原子性 (主逻辑线程是单线程)
Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。 pipline
支持多种数据结构
string(字符串) a->b 配置 color--> red
list(列表) a->list 消息队列 msg--->["hello","ydlclass","itlils"]
hash(哈希) a->map 购物车 1----->["1"=>"剃须刀",“2”=>“电脑”]
set(集合) a->set 去重 quchong-->["北京",“山西”,“河北“]
zset(有序集合) a->sorted set 排行榜 top10->[”xx拿了金牌,10“,"跑路了,9.5"]
稳定性:持久化,主从复制(集群)
其他特性:支持过期时间,支持事务,消息订阅。
#第三章 Redis单机环境安装
#1、Windows版Redis安装(了解)
Windows版的安装比较简单,解压Redis压缩包完成即安装完毕,安装的注意事项:
解压的目录不要有中文
目录结构层次不要太深
硬盘空间剩余空间最少要大于你的内存空间,建议20G以上
Redis 目录结构:
Redis 服务启动与关闭:
1、启动服务器:cmd redis-server.exe redis.windows.conf
2、默认端口号:6379
3、关闭服务器:直接关闭窗口
1
2
3
剩余79页未读,继续阅读
资源评论
章满莫
- 粉丝: 30
- 资源: 316
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功