1. Redis是什么
Redis 是一个高性能的键值对数据库。Redis 将所有数据存储在内存中,因此查询速度快。同时,Redis 也将所有修改写入磁盘中,因此即使发生宕机,数据也不会丢失。Redis 可以用于多种用途,如缓存、消息队列、排行榜等。
Redis的主要特点如下:
支持多种数据类型:Redis 支持五种数据类型,即 String(字符串)、Hash(哈希)、List(列表)、Set(集合)和 Zset(有序集)。
高性能:Redis 将所有数据存储在内存中,因此查询速度快。同时,Redis 也将所有修改写入磁盘中,因此即使发生宕机,数据也不会丢失。
支持事务:Redis 支持事务操作,可以确保多个命令的原子性执行。
支持发布/订阅模式:Redis 支持发布/订阅模式,可以用于消息队列等场景。
支持数据持久化:Redis 支持将内存中的数据保存到磁盘中,以便在宕机后能够快速恢复数据。
2. Redis常用操作命令
2.1 连接Redis
在命令行中输入以下命令可以连接 Redis:
redis-cli
如果 Redis 安装在远程服务器上,则需要指定服务器的 IP 地址和端口号:
redis-cli -h IP地址 -p 端口号
2.2 字符串操作
2.2.1 SET
SET 命令用于设置键值对:
set key value
例如:
set name Tom
上面的命令将键 name 的值设置为 Tom。
2.2.2 GET
GET 命令用于获取指定键的值:
get key
例如:
get name
上面的命令将返回键 name 的值 Tom。
2.3 列表操作
2.3.1 LPUSH
LPUSH 命令用于将一个或多个值插入列表的头部:
lpush key value1 [value2 ...]
例如:
lpush students Tom Jerry
上面的命令将值 Tom 和 Jerry 插入到列表 students 的头部。
2.3.2 LRANGE
LRANGE 命令用于获取列表中指定范围内的所有值:
LRANGE key start stop
例如:
LRANGE students 0 1
上面的命令将返回 students 列表中下标为 0 和 1 的值,即 Tom 和 Jerry。
2.4 哈希操作
2.4.1 HSET
HSET 命令用于设置哈希表中指定字段的值:
HSET key field value
例如:
HSET user id 001
上面的命令将哈希表 user 中字段 id 的值设置为 001。
2.4.2 HGET
HGET 命令用于获取哈希表中指定字段的值:
HGET key field
例如:
HGET user id
上面的命令将返回哈希表 user 中字段 id 的值。
2.5 集合操作
2.5.1 SADD
SADD 命令用于向集合中添加一个或多个元素:
SADD key member1 [member2 ...]
例如:
SADD hobbies running swimming
上面的命令将值 running 和 swimming 添加到集合 hobbies 中。
2.5.2 SMEMBERS
SMEMBERS 命令用于获取集合中所有的元素:
SMEMBERS key
例如:
SMEMBERS hobbies
上面的命令将返回集合 hobbies 中所有的元素。
2.6 有序集操作
2.6.1 ZADD
ZADD 命令用于向有序集中添加一个或多个成员,每个成员都有一个分数值:
ZADD key score1 member1 [score2 member2 ...]
例如:
ZADD rank 90 Tom 80 Jerry
上面的命令将 Tom 的分数设置为 90,Jerry 的分数设置为 80,然后将它们添加到有序集 rank 中。
2.6.2 ZRANGE
ZRANGE 命令用于获取有序集中指定范围内的成员:
ZRANGE key start stop [WITHSCORES]
例如:
ZRANGE rank 0 -1 WITHSCORES
上面的命令将返回有序集 rank 中所有的成员以及对应的分数。
3. 总结
Redis 是一个高性能的键值对数据库,支持多种数据类型和特性,如事务、发布/订阅模式和数据持久化。本文介绍了 Redis 常用的操作命令,包括字符串操作、列表操作、哈希操作、集合操作和有序集操作等。掌握这些命令可以让我们更好地应用 Redis。