• 【Redis】一、Redis简介及五种数据类型


    (一)Redis简介

      Redis(Remote Dictionary Server)是一个使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value的开源数据库,并提供多种语言的API。

      Redis是一个key-value的存储系统,它通常也被称为数据结构服务器,因为Redis支持丰富的数据类型,值可以是字符串、哈希、列表、集合和有序集合这五种类型。

      Redis可以用作数据库、分布式缓存和消息中间件,它是一个NoSQL数据库。

      和其他 key - value 缓存产品(如Memcache)相比,Redis具有以下几个优势:

    • 支持数据的持久化。内存中的数据可以保存到磁盘中,重启的时候可以再次加载使用。
    • 丰富的数据类型。除了简单的key-value的字符串数据,还提供list,set,zset,hash等数据结构的存储。
    • 性能极高。由于数据保存在内存中,redis读的速度是110000次/s,写的速度是81000次/s 。
    • 原子操作。Redis的所有操作都是原子性的,就是要么成功执行要么失败完全不执行。
    • 支持数据备份。Redis提供基于master-slave模式的数据备份。
    • 丰富的特性。除了五种数据类型,Redis还支持发布-订阅(pub-sub)、通知、设置key的过期时间等等。

    (二)Redis的五种数据类型

      Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。每一种数据类型都有大量的操作命令。

    1、字符串(String)

      字符串是redis最基本的类型,一个key对应一个value。String类型是二进制安全的,也就是说redis的String可以包含任何数据,比如jpg图片或者序列化的对象。

      string 类型的值最大能存储 512MB,是最常规的存储类型,值除了是字符串之外,还可以是数字,一般用于复杂的计数功能。以下的示例展示Redis字符串的基本操作命令。

    2、哈希(Hash)

      Redis hash 是一个键值(key=>value)对集合,是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。每个 hash 可以存储 2^32 -1个 键值对(40多亿)。

      以下的示例展示Redis哈希的基本操作命令。

    3、列表(List)

      Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。列表最多可存储 2^32 -1个 元素(40多亿)。

      使用List的数据结构,可以做简单的消息队列的功能。另外还有一个就是,可以利用lrange命令,做基于redis的分页功能。以下的示例展示Redis列表的基本操作命令。

    4、集合(Set)

      Redis 的 Set 是 String 类型的无序集合,集合中的成员是唯一的,这就意味着集合中不能出现重复的数据。 Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。集合中最大的成员数为 2^32 - 1(40多亿个) 。

      Set作为一个无序集合,不含重复元素,适合用来做去重的功能,另外还可以计算交集、并集、差集。以下的示例展示Redis集合的基本操作命令。

    5、有序集合(zset)

      Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。

      由于zset根据分数进行排序,因此,一些类似于排行榜的应用就很适合用它来存储。以下的示例展示Redis有序集合的基本操作命令。

      我们可以看到,Redis支持的五种数据类型各有优势,都有其适用的场合,归纳为下表:

      除了以上针对每一种特定数据类型的操作命令,redis还有一些通用的对key的操作命令,如删除键del key等等,示例如下:

  • 相关阅读:
    流程控制语句
    第一周考点
    8.6
    8.5
    自用论文排版组合 = LyX2.2.2 + TeXLive2016
    解析几何图解
    概率论与数理统计图解.tex
    硕士研究生入学考试复试试卷答案.tex
    概率论与数理统计图解
    一月7日
  • 原文地址:https://www.cnblogs.com/gzshan/p/10969015.html
Copyright © 2020-2023  润新知