快速指引: 创建Redis节点 ===================== 编写服务 ------- 最简单的创建方式是编写服务类,对于其中允许作为Redis接口的方法, 使用@service装饰器来设定其使用的Redis键,是否会返回数据, 其他自定义的接口数据描述等等参数:: class MyService: @classmethod @service(key="add", output=True) async def add(cls, message): a = int(message.get("a", 0)) b = int(message.get("b", 0)) result = a + b return dict(result=result) @classmethod @service(key="action") async def action(cls, event_id, **kwargs): print("event_id is", event_id) 定义好服务类之后,需要设置Redis节点的数据库映射字典,来把服务类对应到指定的数据库上:: db_map = { 0: MyService, } 将映射字典设置到节点对象的参数中,并启动节点:: node = RedisServiceNode() await node.start(db_map, redis_host="127.0.0.1", redis_port=6379) 使用 Redis 客户端访问 Redis 服务,可以查看服务接口信息,比如使用 ``GET action`` 命令:: { "type": "api", "key": "action", "output": false, "signature": "(cls, event_id, **kwargs)", "description": null, "meta": { } } 访问服务 ------- 使用``aioredis``的``GETSET``命令操作``add``方法:: conn = await aioredis.create_redis('redis://127.0.0.1:6379/0') result = await conn.getset("add", json.dumps(dict(a=1, b=2))) result = json.loads(result) assert result == dict(result=3) 使用``aioredis``的``SET``命令操作``action``方法:: conn = await aioredis.create_redis('redis://127.0.0.1:6379/0') await conn.set("action", json.dumps(dict(event_id="myID")))