Redis 概述

150 阅读1分钟

Redis 是 C/S 架构分为客户端和服务端,在实际生产环境中redis的服务端往往部署在linux服务器中,而 Redis 客户端往往集成在编程语言中,比如 java 的 redis客户端、python 的 redis 客户端等。

Redis 客户端和服务端是通过 redis自定义协议远程交互的

没有特殊说明的情况下,我们常说的 Redis 都指的是服务端

特性

  • 属于Nosql数据库
  • 属于 key-value 型数据库,所有的数据都要有一个 key,所有类型的数据都存在 value中
  • 使用C语言开发
  • 开源
  • 基于内存,所以速度很快
  • 支持持久化
  • 支持多种数据类型
  • 多语言客户端支持
  • 多数据库
  • 支持事务

工作模式

Redis 是 单进程 的,同一时间只能处理一个任务 Redis 是 阻塞式的,如果一个任务执行需要很长时间,后面的任务只能排队等待

这样的工作模式的优点

  • 不会存在并发问题,降低系统复杂度

但也有对应的缺点

  • 不适合存储大容量数据(超过100k)

应用场景

  • 缓存
  • 数据库
  • 队列 :redis 中有一个list类型的数据结构,它提供了 pop 、push 两个操作,这两个操作是原子性的,基于list数据结构和原子性操作,我们可以把它当做队列来使用

安装 Redis

参考 Redis 安装