Redis 基础

  1. NoSQL特点
  • 低延迟的读写速度:应用快速地反应能极大地提升用户的满意度
  • 支撑海量的数据和流量:对于搜索这样大型应用而言,需要利用PB级别的数据和能应对百万级的流量
  • 大规模集群的管理:系统管理员希望分布式应用能更简单的部署和管理
  • 庞大运营成本的考量:IT部门希望在硬件成本、软件成本和人力成本能够有大幅度地降低
    高性能、可扩展性强、高可用
  1. Redis
    Redis是一个使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库,其具备如下特性:
  • 基于内存运行,性能高效
  • 支持分布式,理论上可以无限扩展
  • key-value存储系统
  • 开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API
    相比于其他数据库类型,Redis具备的特点是:
  • C/S通讯模型
  • 单进程单线程模型
  • 丰富的数据类型
  • 操作具有原子性
  • 持久化
  • 高并发读写
  1. Redis 应用场景
    缓存系统(“热点”数据:高频读、低频写)、计数器、消息队列系统、排行榜、社交网络和实时系统。

  2. Redis数据类型
    Redis提供的数据类型主要分为5种自有类型和一种自定义类型,这5种自有类型包括:
    String, Hash, List, Set, Zset, Custom Data Type

  • String:二进制安全string(只关心二进制化的字符串,不关心具体格式.只会严格的按照二进制的数据存取。不会妄图已某种特殊格式解析数据) [可以储存图片视频等多种类型],最大长度512M.
    操作命令:
    GET/MGET
    SET/SETEX/MSET/MSETNX
    INCR/DECR
    GETSET
    DEL

  • Hash : 由field和关联的value组成的map。其中,field和value都是字符串类型的。
    Hash的操作命令如下:
    HGET/HMGET/HGETALL
    HSET/HMSET/HSETNX
    HEXISTS/HLEN
    HKEYS/HDEL
    HVALS

  • List : 一个插入顺序排序的字符串元素集合, 基于双链表实现。
    List的操作命令如下:
    LPUSH/LPUSHX/LPOP/RPUSH/RPUSHX/RPOP/LINSERT/LSET
    LINDEX/LRANGE
    LLEN/LTRIM

  • set : 无顺序集合,元素是唯一的.
    Set类型的底层是通过哈希表实现的,其操作命令为:
    SADD/SPOP/SMOVE/SCARD
    SINTER/SDIFF/SDIFFSTORE/SUNION

  • ZSet : 有序集合类型,每个元素都会关联一个double类型的分数权值,通过这个权值来为集合中的成员进行从小到大的排序。与Set类型一样,其底层也是通过哈希表实现的。
    ZSet命令:
    ZADD/ZPOP/ZMOVE/ZCARD/ZCOUNT
    ZINTER/ZDIFF/ZDIFFSTORE/ZUNION

  1. Redis数据结构
posted @ 2021-02-24 15:48  FrancisForeverhappy  阅读(30)  评论(0编辑  收藏  举报