没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
Redis
一. 什么是 NoSQL? not only sql(不仅仅是
sql)
泛指非关系型数据库,随着 互联网的诞生;传统的关系型数据库很难对付 时代!
尤其是超大规模的高并发社区,暴露出很多难以克服的问题。
NoSQL 特点:
方便扩展(数据之间没有关系,很好扩展)
大数据量高性能( 一秒可以写 次,读 万次, 的缓存记录级,是一种细粒
度的缓存,性能会比较高!)
数据类型多样的!(不需要事先设计数据库,随取随用)
传统的 RDBMS 和 NoSQL
传统的 RDBMS(关系型数据库)
结构化组织 数据和关系都存在单独的表中 操作,数据定义语言 严格的一致性 基础的
事务
Nosql
不仅仅是数据 没有固定的查询语言 键值对存储,列存储,文档存储,图形数据库(社交关系) 最
终一致性 定理和 高性能,高可用,高扩展
大数据时代的 3V :主要是描述问题的
海量
多样 !"
实时 !"
大数据时代的 3 高 : 主要是对程序的要求
高并发
高可扩
高性能
文档型数据库(bson 格式,和 json 一样):
#$%&(一般必须要掌握)
#$%& 是一个基于分布式文件存储的数据库,''编写,主要用来处理大量的文档
#$%& 是一个介于关系型数据库和非关系型数据库中间的产品!#$%& 是非关系型数
据库中功能最丰富,最像关系型数据库的
$!(&
列存储数据库
)
分布式文件系统
图关系数据库
不是存图形的,放的是关系
*,+$,-
二、Redis 入门
Redis 是什么?
.(.!&/$ "01,即远程字典服务。
是一个开源的使用 + 语言编写、支持网络、可基于内存亦可持久化的日志型、2"3 数据
库,并提供多种语言的 +。
与 ( 一样,为了保证效率,数据都是缓存在内存中。区别的是 会周期性的把更新的
数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了 !3 04主从1同
步。
Redis 能干什么?
内存存储、持久化,内存是断电即失的,所以需要持久化(RDB、AOF)
高效率、用于高速缓冲
发布订阅系统
地图信息分析
计时器、计数器4%:浏览量1
。。。
特性:
多样的数据类型
持久化
集群
事务
性能测试
redis-benchmark:. 官方提供的性能测试工具,参数选项如下:
5 测 试 : 个 并 发 连 接 请 求 3$( 63(
(!3789:33$
基础知识
默认有 8 个数据库
默认使用的第 个;
8 个数据库为:DB 0~DB 15 默认使用 DB 0 ,可以使用 select n 切换到 DB n,dbsize 可以查看
当前数据库的大小,与 key 数量相关。
Redis 是单线程的,. 是基于内存操作的。
所以 Redis 的性能瓶颈不是 CPU,而是机器内存和网络带宽。
那么为什么 . 的速度如此快呢,性能这么高呢? 达到 '4每秒请求数1
Redis 为什么单线程还这么快?
误区 :高性能的服务器一定是多线程的?
误区 :多线程(< 上下文会切换!)一定比单线程效率高!
核心:. 是将所有的数据放在内存中的,所以说使用单线程去操作效率就是最高的,多线程
(< 上下文会切换:耗时的操作!),对于内存系统来说,如果没有上下文切换效率就是最高的,
多次读写都是在一个 < 上的,在内存存储数据情况下,单线程就是最佳的方案。
Redis 的单线程具体指的是什么?
Redis 确实是单线程模型,指的是执行 .命令的核心模块是单线程的,而不是整个 .实例
就一个线程,.其他模块还有各自模块的线程的。
. 基于 . ! 模式开发了网络事件处理器,这个处理器被称为文件事件处理器。它的组成结构
为 部分:多个套接字、+= 多路复用程序、文件事件分派器、事件处理器。
因为文件事件分派器队列的消费是单线程的,所以 . 才叫单线程模型。
Redis 不仅仅是单线程
一般来说 .的瓶颈并不在 <,而在内存和网络。如果要使用 <多核,可以搭建多个 .
实例来解决。
其实,.开始就有多线程的概念了,比如 .通过多线程方式在后台删除对象、以及通过
.模块实现的阻塞命令等。
剩余23页未读,继续阅读
后端工匠之道
- 粉丝: 222
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0