zoukankan      html  css  js  c++  java
  • Redis基本数据结构

    Redis基本数据结构


    • Redis(REmote DIctionary Server)是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API
    • Redis通常被称为数据结构服务器,因为值(value)可以使字符串(String),哈希(Map),列表(list),集合(Set),和有序集合(sorted sets)等类型
     

    Redis 哈希(Hash)

    • Redis Hash是一个string类型的field和value的映射表,hash特别适合用于存储对象
    • Redis中每个hash可以存储232-1 (40多亿)个键值对
     

    Redis 列表(List)

    • Redis列表是简单的字符串列表,按照插入顺序排序,可以添加一个元素列表的头部(左边)或者尾部(右边)
    • Redis中一个列表最多可以存储232-1个元素
     

    Redis集合(Set)

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

    Redis有序集合(sorted set)

    • Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员
    • 不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序
    • 有序集合的成员是唯一的,但分数(score)却可以重复
    • 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为232-1
     

    Redis HyperLogLog

    • Redis HyperLogLog 是用来做基数统计(计算数据集中不重复元素的个数)的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的、并且是很小的
    • 在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近264个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比
    • 因为 HyperLogLog只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog不能像集合那样,返回输入的各个元素
     
     
  • 相关阅读:
    Cocos2d-x3.0游戏实例之《别救我》第四篇——乱入的主角
    TRIZ系列-创新原理-21-高速通过原理
    “cvSnakeImage”: 找不到标识符
    21世纪创业与知识之间的辩证关系
    Android导航栏ActionBar的具体分析
    HDU4565 && 2013年长沙邀请赛A题
    从切比雪夫不等式到大数定理
    在线笔试琐碎
    在线笔试琐碎
    算法求解中的变量、数组与数据结构(STL 中的容器)
  • 原文地址:https://www.cnblogs.com/yanglang/p/9237392.html
Copyright © 2011-2022 走看看