zoukankan      html  css  js  c++  java
  • Redis 的常用命令

    Redis 常用命令

    Redis 的数据类型

    一些命令需要结合 redis 的数据类型来说。
    Redis 4.0 之前有5种数据类型,分别是:字符串(string)、散列(hash)、列表(list)、集合(set)、有序集合(zset)。
    在 4.0 版本,Redis 新加了一种 stream 的类型。暂且先不说,以后会新开文章具体讲解。

    基本知识:

    1. 数据类型不支持嵌套,即所有的类型的元素只能是字符串,不能是散列和集合或者有序集合。
    2. 除了字符串之外,每种数据类型的命令都有一个开头。
      1. 散列(h)
      2. 列表(l)
      3. 集合(s)
      4. 有序集合(z)
      5. stream(x)

    字符串

    Redis 的字符串使用了 Redis 自己实现的是一个字符串结构叫简单动态字符串:SDS,simple dynamic string
    Redis 中的字符串的最大存储是 512M。
    并且可以当作数字来使用的。比如 incr、incrby、decr、decrby 都是基于数字的值进行操作的。我们可以通过 incr 来实现一个计数器。或者是自增数字发生器。

    散列

    散列的底层是用字典实现的。并且其就是一个字典结构。可以构成: field:value 的格式。
    如下图所示:

    列表

    列表底层是使用双向链表实现的。通过列表可以实现队列功能。
    通过以下命令可以通过列表实现数组的功能:

    lindex key index 
    lset key index value
    

    rpoplpush 可以实现原子性地将一个数据从表尾放到另一个或者自己的表头。

    集合

    Redis 中的集合与数学上的集合具有相同的性质,无序且重复。并且 Redis 提供了 diff、inter、union 三种集合操作的命令。

    有序集合

    有序集合使用跳跃表实现。集合是无序的,并且值不能重复。集合这种数据类型对于很多场景是不适用的。比如说,排行榜。于是 Redis 提供了一种有序集合类型。有序集合是一个每个元素都有一个分值代表在集合中的排行的一种数据结构。如果分值相同,那么按照元素的字典序进行排序。
    什么是跳跃表,可以参见这篇文章:http://blog.jobbole.com/111731/

  • 相关阅读:
    css优化篇
    select超全超详细总结篇
    meta总结
    富文本编辑
    textarea 换行处理
    07 DRF响应类:Response
    06 内部类
    05 序列化组件
    04 APIView的请求生命周期
    python中if __name__ == '__main__'是什么?
  • 原文地址:https://www.cnblogs.com/wudanyang/p/10960919.html
Copyright © 2011-2022 走看看