2.Redis之Redis的背景知识

Redis 是一个在内存中存储数据的中间件
用于作为数据库,用于作为数据缓存.
在分布式系统中能够大展拳脚~

1.Redis的特性介绍(优点)

1.1 在内存中存储数据

MySQL 主要是通过"表"的方式来存储组织数据的,"关系型数据库"
Redis 主要是通过“键值对" 的方式来存储组织数据的."非关系型数据库"

key 都是 string
value 则可以是上述的这些数据结构~

1.2 进行编程性操作 

针对 Redis 的操作,可以直接通过简单的交互式命令进行操作.

也可以通过一些脚本的方式,批量执行一些操作(可以带有一些逻辑) 

1.3 可扩展

1.4 持久化 

1.5 集群 

Redis 作为一个分布式系统中的中间件,能够支持集群是很关键的,
这个水平扩展,类似于"分库分表
-个 Redis 能存储的数据是有限的(内存空间有限)引入多个主机,部署多个 Redis 节点.每个 Redis 存储数据的一部分

1.6 高可用 

1.7 快!!!!! 

why

1.Redis 数据在内存中,就比访问硬盘的数据库,要快很多~~
2. Redis 核心功能都是比较简单的逻辑~~ 核心功能都是比较简单的操作内存的数据结构~~
3.从网络角度上, Redis 使用了 IO 多路复用的方式(epoll)

使用一个线程,管理很多个 socket ~~

4. Redis 使用的是单线程模型 (虽然更高版本的 Redis 引入了多线程)
这样的单线程模型,减少了不必要的线程之间的竞争开销~~

【多线程提高效率的前提是,CPU 密集型的任务

使用多个线程可以充分的利用 CPU 多核资源

但是 Redis 的核心任务,主要就是操作内存的数据结构~~ 不会吃很多 CPU ~~】

5.【待考察的说法】Redis 是使用 C 语言开发的,所以就快~~

2. Redis的应用场景

如何解决上述问题???

1.想办法让负载均衡器,把同一个用户的请求始终打到同一个机器上 (不能轮询了,而是要通过 userld 之类的方式来分配机器)

2.把会话数据单独拎出来,放到一组独立的机器上存储(Redis)(应用程序重启了,会话不丢失)

3.Redis不能做的事情

存储大规模的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值