Python×Redis:初学者简易教程1-字符串类型

首先

AWS Elasticache for Redis 是一种托管的内存数据存储服务,可提供可扩展性和快速缓存。此服务可以显著降低数据的读写延迟,以提高应用程序的性能。

然而,关于使用Python和Elasticache for Redis的组合实现的信息并不多,对于初学者来说可能会很困难。

因此,在本文中,我们将以简单明了的方式介绍使用Python进行Elasticache for Redis的基本使用方法。

Redis有多种数据类型,包括字符串类型和哈希类型等。

 

这次我们将解释如何在Python中处理字符串类型。明天(12/14)我们计划解释哈希类型。

在接下来的计划中,我们将使用Redis引擎版本7.0进行测试。

请给我一个大纲的描述。

预先准备

安装用于处理ElastiCache的Redis库redis-py。

(仮想環境)% pip install redis

与Redis的连接

redis_host = 'エンドポイント'
redis_port = 6379
client = redis.Redis(host=redis_host, port=redis_port,decode_responses=True, ssl=True)

如果设置decode_responses=True,它将解码字节型返回值并返回。
ssl=True是在进行传输加密时必需的。

Redis写入的字符型数据类型。

书写可以使用以下方式来设置。

key = 'id1'
value = 1
client.set(key, value)
Redis的键必须是唯一的。

如果要将嵌套的JSON文件存储到Redis中,建议按照以下方式进行编写。

{
    "id1": {
        "a":1,
        "b":2
    },
    "id2": {
        "a":1,
        "b":2
    },
}
import json 

file_path = 'ファイル名'
with open(file_path, 'r') as file:
    data = json.load(file)
    for key, value in data.items():
        client.set(key, json.dumps(value))
将嵌套值转换为字符串是通过json.dumps()函数完成的关键。

将字符串类型的数据从Redis读入

如果只需要获取单个数据,可以使用以下程序。

import json

key = 'id1'
res = client.get(key)
#書き込みでjson.dumps()していた場合に必要
if res:
    res = json.loads(res)

下面将介绍两种编写多个符合条件的值的程序选项。

import json

keys_condition = 'id*'

#パターン1:keysを用いる
matching_keys = client.keys(keys_condition) 

#パターン2:scanを用いる
cursor = 0
matching_keys = []
while True:
    cursor, keys = client.scan(cursor, match=keys_condition) 
    matching_keys.extend(keys)
    if cursor == 0:
        break
        
#パターン1&2共通
res = client.mget(matching_keys)
#書き込みでjson.dumps()していた場合に必要
res = [json.loads(r) for r in res if r is not None]
建议进行实验以确认,基于数据大小等因素,模式1和2的速度可能有所不同。

结束

以上是有关Python×ElastiCache for Redis字符串类型使用的解释。

    ハッシュ型での実装はこちら

 

    前回までの類似記事はこちら

 

广告
将在 10 秒后关闭
bannerAds