Redis笔记 | 青训营

81 阅读3分钟

引言:

Redis(Remote Dictionary Server)是一个高性能的键值存储系统,常被用作缓存、消息队列和实时数据分析等场景。本文将带你入门 Redis,并介绍常用的 Redis 命令和示例代码,帮助你深入理解和使用 Redis。

1.安装和启动 Redis

首先,我们需要在本地环境中安装和启动 Redis。你可以访问 Redis 官方网站(redis.io)下载最新版的 Redis,并按照官方文档中的指引进行安装。安装完成后,通过以下命令启动 Redis 服务:

redis-server

2.连接 Redis

使用 Redis 客户端工具可以连接 Redis 服务器,并执行 Redis 命令。以下是连接 Redis 的示例代码:

import redis

# 创建 Redis 客户端
r = redis.Redis(host='localhost', port=6379, db=0)

# 执行 Redis 命令
r.set('key', 'value')
value = r.get('key')
print(value)

在示例代码中,我们使用 redis.Redis 类创建了一个 Redis 客户端,并指定服务器地址、端口和数据库索引。然后,我们可以使用该客户端来执行 Redis 命令。在本例中,我们设置了键值对 'key':'value',并使用 r.get 获取键 'key' 的值,并打印出来。

3.常用的 Redis 数据结构

Redis 支持多种数据结构,包括字符串(Strings)、哈希(Hashes)、列表(Lists)、集合(Sets)和有序集合(Sorted Sets)。以下是这些数据结构的示例代码:

字符串(Strings):


# 设置字符串
r.set('name', 'John')

# 获取字符串
name = r.get('name')
print(name)

哈希(Hashes):


# 设置哈希
r.hset('user', 'name', 'John')
r.hset('user', 'age', 25)

# 获取哈希字段
name = r.hget('user', 'name')
age = r.hget('user', 'age')
print(name, age)

列表(Lists):

# 添加元素到列表左侧
r.lpush('numbers', 1)
r.lpush('numbers', 2)
r.lpush('numbers', 3)

# 获取列表
numbers = r.lrange('numbers', 0, -1)
print(numbers)

集合(Sets):

# 添加元素到集合
r.sadd('fruits', 'apple')
r.sadd('fruits', 'banana')
r.sadd('fruits', 'orange')

# 获取集合
fruits = r.smembers('fruits')
print(fruits)

有序集合(Sorted Sets):

# 添加元素到有序集合
r.zadd('scores', {'Alice': 70, 'Bob': 80, 'John': 90})

# 获取有序集合指定范围的元素
scores = r.zrange('scores', 0, -1)
print(scores)

4.进阶特性

除了基本的 CRUD 操作,Redis 还提供了一些进阶特性,如事务、过期时间、发布订阅等。以下是这些特性的示例代码:

事务示例:

# 开启事务
pipe = r.pipeline()

# 执行多个命令
pipe.set('name', 'John')
pipe.set('age', 25)

# 提交事务
pipe.execute()

过期时间示例:

# 设置键的过期时间
r.set('key', 'value', ex=60)  # 过期时间为60秒

# 获取键的剩余生存时间
ttl = r.ttl('key')
print(ttl)

发布订阅示例:

# 创建消息订阅者
pubsub = r.pubsub()

# 订阅频道
pubsub.subscribe('channel')

# 监听消息
for message in pubsub.listen():
    print(message['data'])

结论:

通过本文,我们了解了 Redis 的基本概念和常用命令,并通过示例代码展示了 Redis 的使用方法。Redis 是一个功能强大且灵活的存储系统,可以应用于各种场景中,如缓存、计数器、排行榜等。希望本文的学习笔记能帮助你在实际项目中使用 Redis,提升系统性能和扩展性。 参考资料:

Redis 官方网站:redis.io

Redis Python 客户端文档:redis-py.readthedocs.io

这篇文章介绍了 Redis 的基本概念和常用命令,并提供了示例代码帮助读者深入理解和使用 Redis。通过这些知识,读者可以开始使用 Redis 来构建高效的缓存、消息队列和实时数据分析系统。希望本文对你进一步学习和掌握 Redis 提供了帮助。