Redis基础-CSDN博客

54 阅读2分钟

Redis基础

Redis基本数据类型

Redis是以键值对存储信息的,所以对象又分为键对象和值对象,即存储一个key-value对象的时候会创建两个对象,键对象是一个字符串类型,而值对象可以是五大对象中的任意一个。

Redis特点

  • 键值(Key-Value)型,Value支持多种不同的数据结构,功能丰富
  • 单线程,每个命令具有原子性
  • 低延迟,速度快(基于内存、IO多路复用、良好的编码)
  • 支持数据持久化
  • 支持主从集群、分片集群
  • 支持多语言客户端

基本数据类型

在这里插入图片描述

  1. String

    String类型也就是字符串类型,是Redis中最简单的数据类型,其中value是字符串,但是根据字符串的格式不同,又可以分为

    • string 普通字符串类型
    • int 整型,可以做自增、自减操作
    • float 浮点类型,也可以做自增、自减操作
      无论是哪种格式,低层都是以字节数组的形式进行存储,只不过编码方式不一样,字符串类型的最大空间不能超过512M。

String常用的命令有:
在这里插入图片描述

  1. List
    Redis中的List类型与Java中LinkedList相似,可以看作是一个双向链表结构,也可以当做栈来使用。
    特征也与LinkedList类似:

    • 有序
    • 元素可以重复
    • 插入和删除快
    • 查询速度一般

    List常用命令有:
    在这里插入图片描述

  2. Set
    Redis的Set结构与Java中的HashSet类似,可以看做是一个value为null的HashMap。因为也是一个hash表,因此具备与HashSet类似的特征:

    • 无序
    • 元素不可重复
    • 查找快
    • 支持交集、并集、差集等功能

    Set常见的命令有:
    在这里插入图片描述

  3. ZSet
    Redis的SortedSet是一个可排序的set集合,与Java中的TreeSet有些类似,但底层数据结构却差别很大。SortedSet中的每一个元素都带有一个score属性,可以基于score属性对元素排序,底层的实现是一个跳表(SkipList)加 hash表。

    • SortedSet具备下列特性:
    • 可排序
    • 元素不重复
    • 查询速度快
      因为SortedSet的可排序特性,经常被用来实现排行榜这样的功能。
      SortedSet的常见命令有:
      在这里插入图片描述
      在这里插入图片描述
  4. Hash

Hash类型,也叫做散列,其中value是一个无需的字典,类似于Java中HashMap结构,String结构是将对象序列化为Json字符串后进行储存,当我们要修改对象的某个属性值的时候很不方便,Hash就可以解决这个问题
在这里插入图片描述
Hah结构可以将对象中的每个字段独立存储,可以针对单个字段做CRUD
在这里插入图片描述
Hash常用的命令有:

在这里插入图片描述