一、字符串
在redis中,字符串可以存储 字符串、整数、浮点数 三种类型的值。
整数的取值范围和操作系统有关,在32位系统,就是32位有符号整数。在64位系统,就是64位有符号整数。
简单介绍redis‘的自增、自减操作,以及二进制位(bit)和子串(substring)的处理命令。
| 增减命令 | 用例和描述 |
|---|---|
| INCR | 自增1 |
| DECR | 自减1 |
| INCRBY | 带参数amount,增加amount |
| DECRBY | 带参数amount,减少amount |
| INCRBYFLOAT | 带参数amount,加上浮点数amount |
当用户将一个值存储到redis字符串里面的时候,如果这个值可以被解释为十进制整数或者浮点数,那么redis会察觉到这一点,允许用户对其进行增减操作。空值当作0来处理。不可解释为10进制的数据,增减操作会报错。
| 字串或二进制命令 | 用例和概述 |
|---|---|
| APPEND | 追加内容 |
| GETRANGE key start end | 获取范围内的字符串,包括头尾 |
| SETRANGE key offset value | 从指定位置开始设置字符串 |
| GETBIT key offset | 将字符串看作二进制串,返回传中指定偏移量的值 |
| SET key offset value | 设置指定偏移量的值 |
| BITCOUNT key [start end] | 统计二进制字符串中1的二进制位的数量 |
| BITTOP operation destkey keyname [key…] | 对一个或者多个二进制串进行并(AND)、或(OR)等操作,并将结果存储在destkey中 |
二、列表
1. 常用的列表命令
从语义上来说,列表的左端为开头,右端为结尾
| 命令 | 用例和概述 |
|---|---|
| RPUSH | 将一个多个值推送到右端 |
| LPUSH | … |
| RPOP | … |
| LPOP | … |
| LINDEX | 返回指定偏移量位置的元素 |
| LRANGE | 返回指定范围内的元素,包括头尾 |
| LTRIM | 对列表进行修剪,只保留范围内的元素,包括头尾 |
组合使用LTRIM和LRANGE可以构建出一个类似于LPOP或者RPOP的功能,但却能一次返回或者弹出多个元素。
2. 高级列表命令
有几个命令可以将元素从一个列表移动到另一个列表,或者阻塞当前的客户端直到其他客户端为列表添加元素为止。
| 命令 | 用例和概述 |
|---|---|
| BLPOP [key…] timeout | 从第一个非空的列表的左端取出数据或者阻塞并等待timeout秒直到可弹出的元素出现 |
| BRPOP [key…] | … |
| RPOPLPUSH sourcekey destkey | 元素转移 |
| BRPOPLPUSH sourcekey destkey timeout | 同上,不同的是会阻塞并等待直到有可弹出元素出现 |
对于阻塞弹出命令和弹出并推入命令,最常见的用例就是消息传递和任务队列。
三、集合
集合可以组合和关联多个集合
| 命令 | 用例 | 描述 |
|---|---|---|
| SDIFF | SDIFF key-name [key-name …] | 返回差集,存在于第一个集合,但不存在于其他集合 |
| SDIFFSTORE | SDIFFSTORE dest-key key-name [key-name …] | 取差集之后放于desk-key |
| SINTER | SINTER key-name [key-name …] | 取交集 |
| SINTERSTORE | SINTERSTORE dest-key key-name [key-name] | 取交集之后放于dest-key |
| SUNION | SUNION key-name [key-name…] | 取并集 |
| SUNIONSTORE | SUNIONSTORE dest-key key-name [key-name …] | 取并集存储 |
四、散列
散列类似与关系型数据库的一行记录,非关系型数据库的文档。
HGET 和 HSET命令相当于HMGET HMSET 命令的单参数版本。
五、过期命令
| 命令 | 示例 | 描述 |
|---|---|---|
| PERSIST | PERSIST KEY | 移除键的过期时间 |
| TTL | TTL KEY | 查看键过期还有多少秒 |
| EXPIRE | EXPIRE key seconds | 让键过期在多少秒之后 |
| EXPIREAT | EXPIREAT key timestamp | 键的过期时间设置为UNIX时间戳 |
| PTTL | PTTL key | 查看键过期还有多少毫秒 |
| PEXPIRE | PEXPIRE key millseconds | 在毫秒之后过期 |
| PEXPIREAT | PEXPIREAT key timestamo-milliseconds | 键的过期时间设置为毫秒精度的时间戳 |
本文深入探讨Redis中字符串、列表、集合、散列等数据结构的特性与应用,详述了各种命令如INCR、LPUSH、SDIFF、HGET的使用场景,以及过期时间设置方法。
1468

被折叠的 条评论
为什么被折叠?



