文章目录
- 一. redis概念
- 二. redis应用场景
- 二. redis的特性
- 四. 使用Ubuntu安装redis
一. redis概念
redis 是在内存中存储数据的中间件, 用在分布式系统
redis是客户端服务器结构的程序, 客户端服务器之间通过网络来通信
二. redis应用场景
- redis可用作数据库
类似MySQL, 但是MySQL的最大的问题, 就是访问速度比较慢
redis 访问速度快, 但是存储空间是有限的!
想要又大又快, 可以把redis和MySQL结合起来使用 - redis可用作缓存
二八原则, 存放热点数据 - redis 用作session storage
cookie在客户端存储了用户的身份标识, session存储在应用服务器中
但是如果有多个应用服务器, 怎么保证能获取到对应用户的session?
1)想办法让负载均衡器, 把同一个用户的亲够, 始终打到同一个机器上
2)把session单独拎出来, 放在一组独立的机器上存储(redis) - redis用作"消息中间件"(消息队列)
redis的初心, 就是用来做消息中间件, 但是目前很少有人这么使用(业界有专业的消息中间件)
二. redis的特性
- 在内存中存储数据
MySQL主要是通过"表"的方式来存储组织数据的, 称为"关系型数据库"
Redis主要是通过"键值对"的方式来存储组织数据的, 称为"非关系型数据库"
key都是string
value 可以是一些数据结构等 - 可编程性
针对Redis的操作, 可以直接通过简单的交互式命令进行操作, 也可以通过一些脚本的方式, 批量执行操作 - 可扩展性
可以在Redis原有的功能基础上, 在进行扩展, 本质上就是一个动态链接库
(windows上的动态库dll, 可以让exe去代用里面包含的代码, Linux上的动态库 .so , 与dll格式不同, 但本质一样) - 持久化
Redis把数据存储在内存上, 但会在硬盘上也存储一份, 相当于备份, 系统重启, 内存数据消失, 会加载硬盘中的备份数据, 使Redis的内存恢复到重启前的状态 - 支持集群
一个Redis能存储的数据是有限的(内存空间是有限的), 引入多个主机, 部署多个Redis结点, 每个Redis存储数据的一部分 - 高可用
Redis自身支持"主从"结构, 从结点就相当于主节点的备份
为什么redis快?
- Redis数据存储在内存上, 就比访问硬盘的数据库, 要快很多
- Redis核心功能都是比较简单的逻辑, 核心功能都是比较简单的操作内存的数据结构
- 从网络角度, Redis使用了IO多路复用的方式
- Redis使用的是单线程模型, 减少了不必要的线程之间的竞争开销
(多线程提高效率的前提是, CPU密集型任务, 使用多个线程可以充分利用CPU多核资源, 但是Redis的核心任务, 主要是操作内存的数据结构, 不会吃很多CPU)
四. 使用Ubuntu安装redis
-
先切换到root用户
-
使用apt命令搜索redis相关软件包
-
使用apt命令安装redis
安装完成后, 自动启动
-
手动修改配置文件
找到配置文件
5. 重启服务器
6. 使用redis自带的客户端连接服务器
ctrl + d 退出redis客户端