Redis_概述

1/18/2021 Redis

# 概述

​ Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。

# redis的学习网站:

# 对比关系型数据库

  • 硬件常识

    • 磁盘

      • 寻址:ms
      • 带宽:G/M
      • 数据读取4K对齐
    • 内存:

      • 寻址:ns
      • 带宽:很大

      秒>毫秒>微秒>纳秒 磁盘比内存在寻址上慢了10W倍

    • I/O buffer:成本问题

      • 磁盘与磁道,扇区,一扇区 512Byte 带来一个成本变大:索引

      • 4K 操作系统,无论你读多少,都是最少4k从磁盘拿

# 对比Memcached

  • 都是key->value存储
  • Memcached的value只能存字符串,没有数据类型。然而Redis有
  • 虽然说Memcached通过存储json字符串可以存储复杂的数据结构,但是每次需要返回所有的数据,会消耗网卡IO并且客户端需要代码去解析,然而Redis针对不同类型都提供了方法,可以很方便快速的获取结构中的数据(计算向数据移动