### Redis命令详解 Redis是一种高性能的键值存储系统,在内存中操作数据的速度非常快,因此被广泛用于数据库、缓存和消息中间件等场景。它支持多种类型的数据结构,如字符串(Strings)、散列(Hashes)、列表(Lists)、集合(Sets)以及有序集合(Sorted Sets)等。本文将详细介绍Redis中与键、字符串、哈希表、列表、集合及有序集合相关的常用命令。 #### 1. Key(键) Redis中的键是字符串类型,它们用来指向特定的值。键是Redis中所有数据结构的基础。 ##### 1.1 DEL **命令格式:** `DEL key [key ...]` **作用:** 删除一个或多个键。 **返回值:** 被删除的键的数量。 ##### 1.2 DUMP **命令格式:** `DUMP key` **作用:** 序列化给定键,并返回序列化后的值。 **返回值:** 序列化后的键值。 ##### 1.3 EXISTS **命令格式:** `EXISTS key` **作用:** 检查给定键是否存在。 **返回值:** 如果键存在返回1,否则返回0。 ##### 1.4 EXPIRE **命令格式:** `EXPIRE key seconds` **作用:** 为键设置过期时间。 **返回值:** 设置成功返回1,如果键不存在则返回0。 ##### 1.5 EXPIREAT **命令格式:** `EXPIREAT key timestamp` **作用:** 为键设置过期时间戳。 **返回值:** 设置成功返回1,如果键不存在则返回0。 ##### 1.6 KEYS **命令格式:** `KEYS pattern` **作用:** 查找所有符合给定模式的键。 **返回值:** 匹配的所有键的列表。 ##### 1.7 MIGRATE **命令格式:** `MIGRATE host port key [destination-db] [timeout]` **作用:** 将键从一个实例迁移到另一个实例。 **返回值:** 迁移成功返回`OK`,失败返回错误消息。 ##### 1.8 MOVE **命令格式:** `MOVE key db` **作用:** 将键从当前数据库移动到指定的数据库。 **返回值:** 如果键被移动则返回1,如果键不存在则返回0。 ##### 1.9 OBJECT **命令格式:** `OBJECT subcommand key` **作用:** 返回与给定键相关的内部实现细节。 **返回值:** 取决于子命令。 ##### 1.10 PERSIST **命令格式:** `PERSIST key` **作用:** 移除键的过期时间,使其永不过期。 **返回值:** 如果成功去除过期时间,则返回1;如果键没有设置过期时间,则返回0。 ##### 1.11 PEXPIRE **命令格式:** `PEXPIRE key milliseconds` **作用:** 为键设置毫秒级的过期时间。 **返回值:** 设置成功返回1,如果键不存在则返回0。 ##### 1.12 PEXPIREAT **命令格式:** `PEXPIREAT key milliseconds-timestamp` **作用:** 为键设置毫秒级的时间戳作为过期时间。 **返回值:** 设置成功返回1,如果键不存在则返回0。 ##### 1.13 PTTL **命令格式:** `PTTL key` **作用:** 返回键剩余的毫秒级别的生存时间。 **返回值:** 键剩余的生存时间(毫秒),如果键不存在或永不超时则返回-2。 ##### 1.14 RANDOMKEY **命令格式:** `RANDOMKEY` **作用:** 随机返回数据库中的一个键。 **返回值:** 数据库中的随机键。 ##### 1.15 RENAME **命令格式:** `RENAME key newkey` **作用:** 更改键的名字。 **返回值:** 命令总是返回`OK`。 ##### 1.16 RENAMENX **命令格式:** `RENAMENX key newkey` **作用:** 当新键不存在时才更改键的名字。 **返回值:** 改名成功返回`OK`,若新键已存在则返回`0`。 ##### 1.17 RESTORE **命令格式:** `RESTORE key ttl value` **作用:** 将序列化的值反序列化成键。 **返回值:** 命令总是返回`OK`。 ##### 1.18 SORT **命令格式:** `SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]` **作用:** 对存储在列表、集合或排序集合中的元素进行排序。 **返回值:** 排序后的元素数量或排序后的元素列表(取决于STORE参数是否被设置)。 ##### 1.19 TTL **命令格式:** `TTL key` **作用:** 返回键的剩余生存时间(秒)。 **返回值:** 键剩余的生存时间(秒),如果键不存在或永不超时则返回-2。 ##### 1.20 TYPE **命令格式:** `TYPE key` **作用:** 返回键的类型。 **返回值:** 键的类型(string、list、set、zset或hash)。 ##### 1.21 SCAN **命令格式:** `SCAN cursor [MATCH pattern] [COUNT count]` **作用:** 渐进式地迭代键空间。 **返回值:** 一个包含两个元素的数组,第一个元素是新的游标ID,第二个元素是一个数组,包含迭代得到的键。 #### 2. String(字符串) Redis支持对字符串键进行读写操作。 ##### 2.1 APPEND **命令格式:** `APPEND key value` **作用:** 在键的末尾追加一个值。 **返回值:** 追加后键的长度。 ##### 2.2 BITCOUNT **命令格式:** `BITCOUNT key [start end]` **作用:** 计算一个字符串中被设置为1的位数。 **返回值:** 字符串中被设置为1的位数。 ##### 2.3 BITOP **命令格式:** `BITOP operation destkey key [key ...]` **作用:** 在多个字符串之间执行位操作,并将结果保存到一个新的键中。 **返回值:** 结果字符串中被设置为1的位数。 ##### 2.4 DECR **命令格式:** `DECR key` **作用:** 将字符串表示的数字减1。 **返回值:** 减1后的结果。 ##### 2.5 DECRBY **命令格式:** `DECRBY key decrement` **作用:** 将字符串表示的数字减去指定数值。 **返回值:** 减去指定数值后的结果。 ##### 2.6 GET **命令格式:** `GET key` **作用:** 获取存储在键中的值。 **返回值:** 存储在键中的值。 ##### 2.7 GETBIT **命令格式:** `GETBIT key offset` **作用:** 返回键中指定偏移量处的位值。 **返回值:** 指定偏移量处的位值。 ##### 2.8 GETRANGE **命令格式:** `GETRANGE key start end` **作用:** 返回键中指定区间内的子字符串。 **返回值:** 子字符串。 ##### 2.9 GETSET **命令格式:** `GETSET key value` **作用:** 将键设置为新值,并返回旧值。 **返回值:** 设置前的旧值。 ##### 2.10 INCR **命令格式:** `INCR key` **作用:** 将字符串表示的数字加1。 **返回值:** 加1后的结果。 ##### 2.11 INCRBY **命令格式:** `INCRBY key increment` **作用:** 将字符串表示的数字加上指定数值。 **返回值:** 加上指定数值后的结果。 ##### 2.12 INCRBYFLOAT **命令格式:** `INCRBYFLOAT key increment` **作用:** 将字符串表示的浮点数加上指定数值。 **返回值:** 加上指定数值后的结果。 ##### 2.13 MGET **命令格式:** `MGET key [key ...]` **作用:** 获取所有(一个或多个)给定键的值。 **返回值:** 一系列给定键的值。 ##### 2.14 MSET **命令格式:** `MSET key value [key value ...]` **作用:** 同时设置一个或多个键值对。 **返回值:** 命令总是返回`OK`。 ##### 2.15 MSETNX **命令格式:** `MSETNX key value [key value ...]` **作用:** 当所有给定键都不存在时,同时设置一个或多个键值对。 **返回值:** 设置成功返回`1`,否则返回`0`。 ##### 2.16 PSETEX **命令格式:** `PSETEX key milliseconds value` **作用:** 设置键并指定毫秒级别的过期时间。 **返回值:** 命令总是返回`OK`。 ##### 2.17 SET **命令格式:** `SET key value [NX|XX|EX seconds|PX milliseconds] [KEEPTTL]` **作用:** 设置键的值。 **返回值:** 如果键被创建返回`OK`,如果键已经存在且进行了替换则返回`OK`。 ##### 2.18 SETBIT **命令格式:** `SETBIT key offset value` **作用:** 修改指定偏移量处的位值。 **返回值:** 修改前的位值。 ##### 2.19 SETEX **命令格式:** `SETEX key seconds value` **作用:** 设置键并指定秒级别的过期时间。 **返回值:** 命令总是返回`OK`。 ##### 2.20 SETNX **命令格式:** `SETNX key value` **作用:** 当键不存在时设置键的值。 **返回值:** 如果键被设置则返回`1`,如果键已存在则返回`0`。 ##### 2.21 SETRANGE **命令格式:** `SETRANGE key offset value` **作用:** 重置键中指定偏移量处的位值。 **返回值:** 重置后的字符串长度。 ##### 2.22 STRLEN **命令格式:** `STRLEN key` **作用:** 获取存储在键中的字符串值的长度。 **返回值:** 字符串的长度。 以上内容涵盖了Redis中键和字符串相关的大部分命令及其用法。这些命令为Redis的应用提供了强大的功能,可以帮助开发者高效地管理数据。在实际开发过程中,根据不同的需求选择合适的命令至关重要。
剩余226页未读,继续阅读
- 粉丝: 1
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助