Redis的简介

  1. Redis是一个开源的使用C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志形、的Key-value数据库
  2. Redis通常用作数据库,缓存以及消息系统
  3. Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作
  4. Redis 架构
    1. Redis Client:Redis客户端负责向服务器端发送请求并接受来自服务器端的响应
    2. Redis Server:服务器端负责处理客户端请求,例如,存储数据,修改数据等
  5. Redis的优势
    1. 性能极高: Redis能读的速度是110000次/s,写的速度是81000次/s
    2. 丰富的数据结构: Redis支持String, List, Hashe, Set 及 Ordered Set等数据类型
    3. 原子性:Redis的所有操作都是原子性的
    4. 丰富的特性:Redis还支持 publish/subscribe, 通知, key过期等等特性
  6. 注意点:
    1. 数据库的命名:Redis中的数据库名称是一个从0开始的递增数字命名
    2. Redis中每个数据库的数据是隔离的不能共享
    3. Redis默认支持16个数据库,可以通过配置文件或者database命令是修改
    4. 客户端和Redis连接后默认连接0号数据库,可以使用SELECT命令更换数据库
    5. 在单机系统中才有数据库的概念,集群中是没有数据库的概念的
  7. Redis的特点
    1. Redis提供多种语言的API
    2. Redis支持数据的持久化(可以将内存中的数据保存到磁盘中,重启的时候可以再次加载进行使用)
    3. Redis通常被称为数据结构服务器(因为Redis的值可以是String、List、Hash、Sets、sorted sets)
  8. Redis数据库和关系型数据库的区别
    1. Redis数据库不支持自定义数据库名称,每个数据库都以编号命名
    2. Redis也不支持为每个数据库设置不同的访问密码;所以一个客户端要么可以访问全部数据库,要么连一个数据库也没有权限访问
    3. Redis中的数据库之间并不是完全隔离的(比如FLUSHALL命令可以清空一个Redis实例中所有数据库中的数据)
  9. 总结
    1. Redis的数据库更像是一种命名空间
    2. Redis数据库不适合存储不同应用的程序(比如可以使用0号数据库存储某个应用生产环境中的数据,使用1号数据库存储测试环境中的数据,但不适宜使用0号数据库存储A应用的数据而使用1号数据库B应用的数据,不同的应用应该使用不同的Redis实例存储数据)
    3. Redis非常轻量级,一个空的Redis实例只占用1M左右的内存
posted @ 2020-09-15 20:16  WeiKing  阅读(127)  评论(0编辑  收藏  举报