Redis 是一种开源的高性能的键值存储数据库,特别适合于数据缓存、消息队列、排行榜等场景。它提供了丰富的命令来操作不同类型的结构,包括键(Key)、字符串(String)、哈希表(Hash)和列表(List)。
1. **键(Key)**:
- **DEL**:用于删除一个或多个键。
- **DUMP**:将键的数据序列化成二进制格式返回,便于持久化或传输。
- **EXISTS**:检查键是否存在。
- **EXPIRE/PEXPIRE**:设置键的过期时间,区分是否在过期时删除键。
- **KEYS**:查找匹配特定模式的键,但不推荐生产环境中使用,因为性能较差。
- **MIGRATE/MOVE**:移动键到其他Redis实例,便于数据迁移或负载均衡。
2. **字符串(String)**:
- **APPEND**:向字符串尾部追加数据。
- **BITCOUNT**:统计字符串中1的个数。
- **BITOP**:执行位操作,如与、或、异或等。
- **DECR/DECRBY/INCR/INCRBY/INCRBYFLOAT**:原子地递增或递减数值。
- **GET/GETBIT/GETRANGE/GETSET**:获取字符串内容、单个比特位、子串或替换子串。
- **MGET**:批量获取多个键的值。
- **PSETEX**:设置带过期时间的字符串,支持自旋等待。
- **SET/SETBIT/SETEX/SETNX/SETRANGE**:设置字符串值、单个比特位、设置带过期时间的值、原子设置或覆盖,以及设置指定范围的值。
- **STRLEN**:获取字符串长度。
3. **哈希表(Hash)**:
- **HDEL**:删除哈希表中的一个或多个字段。
- **HEXISTS/HGET**:检查哈希表中是否存在字段及其值。
- **HGETALL**:获取整个哈希表的字段和值。
- **HINCRBY/HINCRBYFLOAT**:原子性地增加或浮点数增加哈希表字段的值。
- **HKEYS/HLEN/HMGET/HMSET**:获取哈希表的所有字段、长度、多字段值或设置多个字段和值。
- **HSET/HSETNX/HVALS**:设置哈希表字段、原子设置、获取所有字段值,以及获取所有字段值。
- **HSCAN**:扫描哈希表的迭代器,逐个返回字段。
4. **列表(List)**:
- **BLPOP**:阻塞地从列表左侧或右侧弹出第一个元素。
- **其他列表操作,如RPOP/LPOP/PUSH/RPush/RPOPLPUSH等**:分别从列表尾部或头部添加/移除元素,或者在两个列表之间双向交换。
除了以上列出的基础命令,Redis 还提供了许多其他高级功能,如有序集合(Sorted Set)、集合(Set)、管道(Pipelining)、事务(Transaction)、发布订阅(Publish/Subscribe)等。这些命令的强大之处在于它们的高效性和一致性,使得Redis能够在高并发环境下保持快速响应。了解并熟练掌握Redis命令是高效使用Redis服务的关键。