Redis数据结构及其常用命令

来源:互联网 发布:php图书管理系统 编辑:程序博客网 时间:2024/05/20 07:14

Redis中数据结构有五种,分别是字符串、链表、集合、散列、有序集合,接下来我简单介绍这五种数据结构以及相应的操作命令。

String

在Redis中,字符串可以存储三种类型:

  1. 字节串
  2. 整数
  3. 浮点数

这里写图片描述

常用操作命令:

  1. set:设置键-值
  2. get:获得键对应的值
  3. del:删除给定键的值

这里写图片描述

自增自减命令:

  1. incr:加一
  2. incrby:加上某一整数
  3. decr:减一
  4. decrby:减去某一个数
  5. incrbyfloat:加上某一个浮点数。

这里写图片描述

另外一些命令简介如下:

这里写图片描述

列表

Redis支持了列表,使得他在键值存储中独树一帜。

这里写图片描述

常用命令:

  1. LPUSH:从左边入列
  2. RPUSH:从右边入列
  3. LPOP:从左边出列
  4. RPOP:从右边出列
  5. LRANG:给定位置范围的值
  6. LINDEX:给定位置的值

这里写图片描述

高级命令,主要是增加了对命令执行的阻塞:

这里写图片描述

集合

集合和列表都可以存储多个字符串,不同的是集合中的键不能重复。

这里写图片描述

常用命令:

  1. SADD:添加键值
  2. SMEMEBERS:查询集合所有元素
  3. SISMEMEBER:查询集合是否包含元素
  4. SREM:移除元素

这里写图片描述

高级命令,主要支持了操作多个集合:

这里写图片描述

使用sdiff命令输出如下:

这里写图片描述

散列

Redis的散列可以存储多个键值的映射,散列存储的值既可以是字符串也可以是数字,同样可执行自增自减操作。

这里写图片描述

常用操作:

  1. HSET:设置映射
  2. HGET:获得指定键的值
  3. HGETALL:获得所有键值对
  4. HDEL:删除键值对。

这里写图片描述

更高级命令:

这里写图片描述

这些命令和字符串的命令差不多。
如果键值对的数量非常庞大,那么建议使用HKEYS先获得所有的键,然后根据键求值。

有序集合

和散列一样,都用于存储键值对;但是在这里键称为成员,值称为分值。

这里写图片描述

常用命令(不做解释了比较简单):

  1. ZADD:
  2. ZRANGE:
  3. ZRANGEBYSCORE:分值在某一个范围。
  4. ZREM:

这里写图片描述

有序集合的高级命令比较多,因此功能也比较齐全:

这里写图片描述

ZINTERSTORE命令

解释一下有序集合的交集运算:默认使用sum聚合函数,将两个集合中键相同的数值相加。

这里写图片描述

ZUNIONSTORE命令

有序集合的并集运算:默认使用聚合函数min,将两个集合中的数做并集处理,并且取对应键的最小值。

这里写图片描述

原创粉丝点击