如何在Python中使用Vultr托管数据库进行缓存
介绍
Redis® 是一种内存数据存储,提供灵活的数据结构、高性能和按需可扩展性。Vultr Managed Database for Caching 为任务关键型应用程序提供高可用性、高吞吐量和低延迟。本指南介绍如何在 Python 中使用 Vultr Managed Database for Caching 创建高可用性应用程序。
先决条件
准备工作:
- 购买用于缓存的 Vultr 托管数据库
- 购买Vultr Linux 服务器以用作开发计算机
- 使用 SSH 以非 root 用户身份访问服务器
设置 Python 开发环境
要将 Vultr Managed Database for Caching 集成到 Python 应用程序,请安装 Python 模块并设置示例项目目录来存储应用程序文件。redis
- 升级 Python 包管理器。
pip
- 安装 Python 驱动程序以连接到 Redis® 数据库。
redis
- 创建一个新目录。
project
- 导航到新目录。
project
创建 Redis® 网关类
要在 Python 应用程序文件中使用 Vultr Managed Database for Caching 连接,请创建一个连接到数据库的中央 Python 模块。然后,可以通过在应用程序中使用子句声明数据库模块来重用该模块。按照以下步骤创建 Redis® 连接模块import
- 使用 Vim 等文本编辑器创建一个新文件
redis_gateway.py
- 将以下代码添加到文件中。将 、 和 值替换为正确的 Vultr Managed Database for Caching 详细信息
vultr-prod-abcd.vultrdb.com
16752
example-password
保存并关闭文件
上面的 Python 应用程序代码使用方法声明一个类。每次创建类的实例时,都会执行此方法。然后,它使用该函数连接到 Redis® 数据库。
RedisGateway
__init__(self)
RedisGateway
self.r_client = redis.Redis(...)
要将 Redis® 数据库模块导入到其他 Python 源代码文件,请使用以下声明:
实现 Redis® 字符串
在 Redis® 中,字符串是字节序列,是最常用的数据类型。您可以使用字符串数据类型来存储会话 ID、用户密码、产品信息和静态 HTML 内容。要在 Redis® 服务器中创建密钥,请使用关键字。若要检索键值,请使用关键字。在本节中,创建一个 Python 应用程序来实现 Redis® 字符串,如下所述。set
get
- 创建新文件
redis_strings.py
- 将以下内容添加到文件中
保存并关闭文件。
上面的应用程序文件导入您之前创建的模块,然后:
redis_gateway
r_key
:定义您在 Redis® 数据库中设置的字符串键的名称r_value
:定义 Redis® 键值r_client.set(r_key, r_value)
:在 Redis® 数据库中设置密钥if r_client.exists(r_key)
:在检索密钥之前,先验证密钥是否存在于 Redis® 数据库服务器中,以避免运行时错误r_client.get(r_key).decode("utf-8")
:从 Redis® 数据库中检索密钥
- 运行 Redis® 字符串应用程序文件
输出:
如上面的输出所示,Python 正确连接到 Redis® 数据库并设置字符串键的值。
example-password
john_doe
实现 Redis® 列表
Redis® 列表是用于实现排队机制的字符串的有序集合。Redis® 允许您使用 和 命令将元素添加到列表的头部或尾部。创建新的 Python 应用程序来测试 Redis® 列表功能,如下所述。lpush
rpush
- 创建新文件
redis_lists.py
- 将以下内容添加到文件中
保存并关闭文件。
下面是上面的应用程序代码的作用:
- 该变量表示示例 Redis® 列表的键。
r_list
sample_job_1 = {...}
和 是示例列表值。sample_job_1 = {...}
- 该函数将两个示例作业插入到 Redis® 列表中
r_client.lpush(r_list, r_list_value_1, r_list_value_2)
- 循环查询 Redis® 服务器并循环访问变量以打印列表值
while(r_client.llen(r_list) != 0):
r_list
- 该变量表示示例 Redis® 列表的键。
- 运行应用程序文件
redis_lists.py
输出:
实现 Redis® 哈希
Redis® 哈希是将键映射到值对的记录类型。在 Python 应用程序中以公司数据的形式实现 Redis® 哈希,如下所述。
- 创建新文件
redis_hash.py
- 将以下内容添加到文件中
保存并关闭文件。
在上述应用中:
- 该变量表示 Redis® 数据库中的哈希键。
r_hash
- 该函数在 Redis 服务器中设置哈希值。此函数与以下内容相同:
r_client.hset(r_hash, "company_name", "XYZ COMPANY")
r_client.hgetall(r_hash)
:检索给定哈希的所有键值对r_client.hget(r_hash, "company_name")
:检索哈希中给定键的值
- 该变量表示 Redis® 数据库中的哈希键。
- 运行应用程序
输出:
实现 Redis® 排序集
排序集表示按关联乐谱排列的字符串集合。元素在排序集中只能出现一次。Redis® 提供了用于添加和检索排序集值的 and 函数。在 Python 应用程序中实现这些函数,如下所述。zadd
zrange
- 创建新文件
redis_sorted_set.py
- 将以下内容添加到文件中
保存并关闭文件。
在上述应用中:
r_sorted_set
:声明排序集的键database_scores = {...}
:包含四个具有匹配分数的元素r_client.zadd(r_sorted_set, database_scores)
:将 set 元素添加到 Redis® 服务器r_client.zrange(r_sorted_set, 0, 3)
:从数据库中返回所有排序的集合值
- 运行应用程序
输出:
结论
在本指南中,您已使用 Vultr Managed Database for Caching with Python 实现了不同的数据类型。根据您的应用程序用例,实现相关的 Redis® 数据类型以在数据库中缓存和存储数据。
1.本站主要是为了记录工作、学习中遇到的问题,可能由于本人技术有限,内容难免有纰漏,一切内容仅供参考。
2.本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!
3.本站所有原创作品,包括文字、资料、图片、网页格式,转载时请标注作者与来源。