REmote DIctionary Server(Redis),一个 key-value 存储系统。

数据类型

Redis 支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

  • string

    • string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如 jpg 图片或者序列化的对象。
    • string 类型是 Redis 最基本的数据类型,一个键最大能存储 512MB。
    • 相关命令:set, get
      bash 127.0.0.1:6379> set str1 hello OK 127.0.0.1:6379> get str1 "hello"
  • hash
    • hash 是键值对的集合。
    • 每个 hash 可以存储 2^32 - 1 个(超过 40 亿个)键值对。
    • 相关命令:hmset, hmget, hgetall
      bash 127.0.0.1:6379> hmset hashmap1 name hiwangzi blog hiwangzi.com OK 127.0.0.1:6379> hmget hashmap1 name 1) "hiwangzi" 127.0.0.1:6379> hgetall hashmap1 1) "name" 2) "hiwangzi" 3) "blog" 4) "hiwangzi.com"
  • list
    • list 是字符串列表,按插入顺序排序。
    • 列表的最大长度为 2^32 - 1 个元素。
    • 相关命令:lpush, lrange
      bash 127.0.0.1:6379> lpush list1 a b (integer) 2 127.0.0.1:6379> lrange list1 0 100 1) "b" 2) "a" 127.0.0.1:6379> lpush list1 c (integer) 3 127.0.0.1:6379> lrange list1 0 2 1) "c" 2) "b" 3) "a"
  • set
    • set 是字符串的无序集合。
    • 添加,删除和验证成员是否存在的时间O(1)复杂性。
    • set 的最大成员数量为 2^32 - 1 个元素。
    • 相关命令:sadd, smembers
      ```bash
      127.0.0.1:6379> sadd set1 a b
      (integer) 2
      127.0.0.1:6379> smembers set1
      1) "b"
      2) "a"
      127.0.0.1:6379> sadd set1 c
      (integer) 1
      127.0.0.1:6379> smembers set1
      1) "b"
      2) "c"
      3) "a"
      127.0.0.1:6379> sadd set1 a
      (integer) 0
      127.0.0.1:6379> smembers set1
      1) "b"
      2) "c"
      3) "a"

      # a 被添加了两次,但集合有唯一属性,所以只会存储一个。
      ```

  • zset
    • zset = sorted set
    • Redis可排序集合类似于Redis集合,是不重复的字符集合。 不同之处在于,排序集合的每个成员都与分数相关联,这个分数用于按最小分数到最大分数来排序的排序集合。虽然成员是唯一的,但分数值可以重复。
    • 相关命令:zadd, zrange, zrangebyscore
      bash 127.0.0.1:6379> zadd zset_test 0 redis (integer) 1 127.0.0.1:6379> zadd zset_test 0 mongodb (integer) 1 127.0.0.1:6379> zadd zset_test 1 sqllite (integer) 1 127.0.0.1:6379> zadd zset_test 1 sqllite (integer) 0 127.0.0.1:6379> zrange zset_test 0 1000 1) "mongodb" 2) "redis" 3) "sqllite" 127.0.0.1:6379> zrangebyscore zset_test 0 1000 1) "mongodb" 2) "redis" 3) "sqllite"

参考

「Redis 笔记」数据类型的更多相关文章

  1. 「Redis 笔记」常用命令

    编号 命令 描述 1 DEL key 此命令删除一个指定键(如果存在). 2 DUMP key 此命令返回存储在指定键的值的序列化版本. 3 EXISTS key 此命令检查键是否存在. 4 EXPI ...

  2. 「学习笔记」Min25筛

    「学习笔记」Min25筛 前言 周指导今天模拟赛五分钟秒第一题,十分钟说第二题是 \(\text{Min25}​\) 筛板子题,要不是第三题出题人数据范围给错了,周指导十五分钟就 \(\text{AK ...

  3. 「学习笔记」FFT 之优化——NTT

    目录 「学习笔记」FFT 之优化--NTT 前言 引入 快速数论变换--NTT 一些引申问题及解决方法 三模数 NTT 拆系数 FFT (MTT) 「学习笔记」FFT 之优化--NTT 前言 \(NT ...

  4. 「学习笔记」FFT 快速傅里叶变换

    目录 「学习笔记」FFT 快速傅里叶变换 啥是 FFT 呀?它可以干什么? 必备芝士 点值表示 复数 傅立叶正变换 傅里叶逆变换 FFT 的代码实现 还会有的 NTT 和三模数 NTT... 「学习笔 ...

  5. 「学习笔记」Treap

    「学习笔记」Treap 前言 什么是 Treap ? 二叉搜索树 (Binary Search Tree/Binary Sort Tree/BST) 基础定义 查找元素 插入元素 删除元素 查找后继 ...

  6. 「算法笔记」快速数论变换(NTT)

    一.简介 前置知识:多项式乘法与 FFT. FFT 涉及大量 double 类型数据操作和 \(\sin,\cos\) 运算,会产生误差.快速数论变换(Number Theoretic Transfo ...

  7. 「学习笔记」字符串基础:Hash,KMP与Trie

    「学习笔记」字符串基础:Hash,KMP与Trie 点击查看目录 目录 「学习笔记」字符串基础:Hash,KMP与Trie Hash 算法 代码 KMP 算法 前置知识:\(\text{Border} ...

  8. 「算法笔记」树形 DP

    一.树形 DP 基础 又是一篇鸽了好久的文章--以下面这道题为例,介绍一下树形 DP 的一般过程. POJ 2342 Anniversary party 题目大意:有一家公司要举行一个聚会,一共有 \ ...

  9. 「学习笔记」wqs二分/dp凸优化

    [学习笔记]wqs二分/DP凸优化 从一个经典问题谈起: 有一个长度为 \(n\) 的序列 \(a\),要求找出恰好 \(k\) 个不相交的连续子序列,使得这 \(k\) 个序列的和最大 \(1 \l ...

随机推荐

  1. 减小数据库Log文件大小 1MB 为自定义大小

    --减小数据库Log文件大小 1MB 为自定义大小USE [master]GOALTER DATABASE DataBaeName SET RECOVERY SIMPLE WITH NO_WAITGO ...

  2. 重装系统后导入raid

    参考 https://ubuntuforums.org/showthread.php?t=2002217 https://www.funkypenguin.co.nz/note/importing-e ...

  3. 使用VS Code断点调试PHP

    vs code 使用一款杰出的轻量级代码编辑器,其中的插件工具不胜枚举而且还在不断增加.使用 vs code 调试 php 代码更是方便简洁,下面我们来一起看一下. 1. 安装 XDebug 扩展 调 ...

  4. POJ 3762 The Bonus Salary!

    The Bonus Salary! Time Limit: 2000ms Memory Limit: 65536KB This problem will be judged on PKU. Origi ...

  5. Spring Boot-properties使用(二)

    自定义属性 @value注入 在application.properties新增配置 student.name=小明student.age=12student.info=${student.name} ...

  6. CodeForces - 9B - Running Student

    先上题目: B. Running Student time limit per test 1 second memory limit per test 64 megabytes   And again ...

  7. A. Feed the cat

    A. Feed the cat time limit per test: 1 second memory limit per test: 256 megabytes input: standard i ...

  8. HTML【2】表单提交与服务层的模拟(具体解释get与post提交方式的不同)

    在HTML[1]中已经说明了HTML编程的基本方式,最后说到了表单提交的方式有get和post方式.那么究竟什么是get/post 方式呢,两者有什么差别?如今我就详细的介绍一下. 首先回想一下表单的 ...

  9. HDU 5338 ZZX AND PERMUTATIONS 线段树

    pid=5338" target="_blank" style="text-decoration:none; color:rgb(45,125,94); bac ...

  10. Android之——自己主动挂断电话的实现

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47072451 通过<Android之--AIDL小结>与<And ...