什么是 Redis?
Redis(Remote Dictionary Server)是一个基于内存的数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis 支持多种数据结构,包括字符串、哈希、列表、集合、有序集合等。它提供了丰富的功能,支持持久化、事务、发布/订阅等特性。
Redis 数据类型
Redis 支持以下几种主要的数据类型:
1. 字符串(String)
字符串是 Redis 中最简单的数据类型,可以包含任意数据,例如字符串、数字等。字符串类型的操作很简单,如设置、获取和删除。
基本操作:
- SET key value: 设置键的值。
- GET key: 获取键的值。
- DEL key: 删除键。
示例:
SET mykey "Hello, Redis!"
GET mykey
# 输出: "Hello, Redis!"
DEL mykey
2. 哈希(Hash)
哈希是一个键值对集合,其中键和值都是字符串。它适用于存储对象的属性。
基本操作:
- HSET key field value: 设置哈希表中的字段值。
- HGET key field: 获取哈希表中字段的值。
- HDEL key field: 删除哈希表中的字段。
示例:
HSET user:1000 name "Alice"
HGET user:1000 name
# 输出: "Alice"
HDEL user:1000 name
3. 列表(List)
列表是一个按插入顺序排序的字符串集合,可以从两端推入和弹出元素。适用于需要按顺序存储数据的场景。
基本操作:
- LPUSH key value: 从左侧推入一个元素。
- RPUSH key value: 从右侧推入一个元素。
- LPOP key: 从左侧弹出一个元素。
- RPOP key: 从右侧弹出一个元素。
示例:
LPUSH mylist "world"
RPUSH mylist "hello"
LRANGE mylist 0 -1
# 输出: ["hello", "world"]
LPOP mylist
# 输出: "hello"
4. 集合(Set)
集合是一个无序的字符串集合,不允许重复元素。适合于需要存储独特元素的场景。
基本操作:
- SADD key member: 向集合中添加一个元素。
- SREM key member: 从集合中删除一个元素。
- SMEMBERS key: 获取集合中的所有成员。
示例:
SADD myset "apple"
SADD myset "banana"
SMEMBERS myset
# 输出: ["apple", "banana"]
SREM myset "banana"
5. 有序集合(Sorted Set)
有序集合类似于集合,但每个元素都有一个关联的分数,集合中的元素按分数排序。适用于需要排序的场景。
基本操作:
- ZADD key score member: 向有序集合中添加一个元素及其分数。
- ZRANGE key start stop: 获取指定范围的有序集合成员。
- ZREM key member: 删除有序集合中的一个成员。
示例:
ZADD myzset 1 "one"
ZADD myzset 2 "two"
ZRANGE myzset 0 -1
# 输出: ["one", "two"]
ZREM myzset "one"
Redis 基本操作
连接到 Redis
你可以使用 Redis CLI 工具来连接到 Redis 实例。默认情况下,Redis 运行在本地的 6379 端口。
连接命令:
redis-cli
服务器操作
- INFO: 获取 Redis 服务器的各种信息。
- PING: 检查 Redis 服务器是否正常工作。
- FLUSHALL: 删除所有数据库中的所有键。
总结
Redis 是一个功能强大的数据库系统,支持多种数据类型和操作。理解 Redis 的基本数据类型和操作是使用 Redis 的第一步。通过掌握这些基本知识,你可以更有效地利用 Redis 进行开发和优化。