美文网首页
第二章----Redis概述

第二章----Redis概述

作者: 枫子夜 | 来源:发表于2020-02-19 22:13 被阅读0次

    1. Redis简介

    Redis:REmote DIctionary Server(远程字典服务)。

    Redis是一个速度非常快的非关系型数据库,它可以存储键与5种不同类型值的之间映射,可以将存储在内存中的键值对数据持久化到硬盘,可以使用复制特性来扩展读性能,还可以使用客户端分片来扩展写性能。

    Redis 非常快,每秒可执行大约 110000 次的设置(SET)操作,每秒大约可执行 81000 次的读取/获取(GET)操作。

    2. Redis与其他主流数据库对比

    名称 类型 数据存储选项 查询类型 附加功能
    Redis 内存非关系型数据库 字符串、列表、集合、散列表、有序集合 不同数据类型对应不同查询命令,有批处理命令及事务支持 发布订阅、主从复制、持久化
    MongoDB 硬盘非关系型文档数据库 可以存储多个表,每个表存储多个bson文档 增删改查 主从、分片、空间索引、map-reduce
    memcached 内存缓存 键值映射 增删改查 多线程
    MySQL 关系型数据库 表、单表多行,多表视图等 增删改查 支持ACID(事务)、主从/主主复制

    同Java中Map比较:

    1. Java实现的Map是本地缓存,如果有多台实例(机器)的话,每个实例都需要各自保存一份缓存,缓存不具有一致性
    2. Java实现的Map不是专业做缓存的,JVM内存太大容易挂掉的。一般用做于容器来存储临时数据,缓存的数据随着JVM销毁而结束。
    3. Map所存储的数据结构,缓存过期机制等等是需要程序员自己手写的。

    3. Redis的五种数据类型

    类型 读写能力
    string 字符串、整数、浮点数 常用字符串操作、自增、自减
    list 链表、可重复 从链表两端推入弹出元素、trim、读取单个多个元素、根据值查找移除
    set 集合、不可重复 添加、获取、移除、检查是否存在、交集并集差集、随机获取
    hash 键值对无序散列表 添加、获取、移除、获取所有键/值
    zset 有序集合(值和分值的映射)、不可重复 添加、获取、移除、根据分值范围获取元素

    4. Redis事件处理器

    • 文件事件,Redis开发了自己的网络事件处理器,这个处理器被称为文件事件处理器

      事件处理

    redis 内部使用文件事件处理器 file event handler,这个文件事件处理器是单线程的,所以 redis 才叫做单线程的模型。它采用 IO 多路复用机制同时监听多个 socket,将产生事件的 socket 压入内存队列中,事件分派器根据 socket 上的事件类型来选择对应的事件处理器进行处理。

    文件事件处理器的结构包含 4 个部分:多个 socket 、IO 多路复用程序、文件事件分派器、事件处理器(连接应答处理器、命令请求处理器、命令回复处理器)

    Redis进程
    • 时间事件:周期性事件 定时事件
      1. 更新服务器的统计信息(时间、内存占用、数据库占用)
      2. 清理数据库的过期键值对
      3. AOF、RDB持久化
      4. 如果是主从服务器,对从服务器进行定期同步
      5. 如果是集群模式,对进群进行定期同步和连接

    5. 使用Redis的理由

    • 5种数据结构,且操作方便
    • 内存存储,速度快
    • 可持久化
    • 可扩展(主从复制、分片)

    可是我偏偏就是不想要转弯 就算不开灯的房间真的有些暗

    相关文章

      网友评论

          本文标题:第二章----Redis概述

          本文链接:https://www.haomeiwen.com/subject/dkpzfhtx.html