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字符串类型使用的解释。
- ハッシュ型での実装はこちら
- 前回までの類似記事はこちら