replit db客户端
replitdb的Python项目详细描述
ReplitDB客户端
用于更换数据库。由Codemonkey51创建。文档由IreTheKID编写。在
安装
有许多不同的方法可以将replitdb
安装到您的环境中。pip
是最稳定的。在
- 点:
pip install replitdb
- 易于安装:
easy_install replitdb
- Git:
$ git clone https://github.com/codemonkey51/replit-db-client replitdb
- 回复UPM:
python3 -m poetry init --no-interaction; python3 -m poetry add replitdb
入门
安装包后,只需导入它并定义客户端即可开始:
importreplitdbclient=replitdb.Client()
使用客户机
replitDB客户机可用于写入、删除和编辑数据库中的键/值。假设你已经准备好了字典,比如:
^{pr2}$您可以使用以下方法之一写入数据库:
forkey,valueindata.items():client.set(key=value)
或者:
client.set_dict(data)
编者注:使用for循环将把'key'设置为变量值。建议改用client.set_dict({key:value})
。在
在向数据库添加项之后,您可能需要删除一些。从数据库中删除值有多种方法:
client.remove("codes")# Deletes the item the key "codes"client.remove_list(["users","posts"])# Deletes a list of itemsclient.wipe# Wipes the whole DataBase clean
客户端功能
添加:
client.set(name=value, name2=value2, ...)
添加具有名称和值的项。在client.set_dict({key:val})
为dict中的每个键/值对添加一个项
移除:
client.remove(name)
按名称删除项目。在client.remove_list([key])
按名称删除项目列表。在client.wipe
清除数据库。(注意:无法撤消)
查看:
client.view(name)
返回名称的值(尝试检测它是str还是ddict/list并相应地返回)。在client.view_multiple(name, name2, ...)
返回一个字典,每个条目都是找到的名称/值对(尝试检测它是str还是ddict/list并相应地返回)。在client.view_multiple_list([key])
返回一个字典,其中每个项都是在列表中找到的键/值对(尝试检测它是str还是ddict/list并相应地返回)。在client.all
返回所有密钥名。在client.all_dict
将整个数据库作为字典返回。在
查看内部(仅异步)(建议不要直接调用)
- ^{cd18>返回字符串的值。在
client._view_str_multiple(name, name2, ...)
返回一个字典,其中每个项都是找到的字符串的名称/值对。在client._view_str_multiple_list([key])
返回一个字典,其中每个项都是在列表中作为字符串找到的键/值对。在client._view_json(name)
返回名称json decoded的值。在client._view_json_multiple(name, name2, ...)
返回一个字典,其中每个项都是json decoded找到的json decoded的名称/值对。在client._view_json_multiple_list([key])
返回一个字典,其中每个项都是json解码的在列表中找到的键/值对。在
搜索:
client.list(prefix)
返回找到的所有以前缀开头的键的列表。在client.list_multiple(prefix, prefix2, ...)
返回dict,每个项是找到的所有以每个前缀开头的键的前缀/密钥对。在client.list_multiple_list([prefix])
返回dict,其中每个项是找到的所有密钥的前缀/密钥对,这些密钥以所传递的列表中的每个前缀开头。在
异步功能
通过使用AsyncClient()
类定义客户机,可以使用异步函数。所有功能都将成为需要等待的协同程序。这里有两个例子:
importasyncioimportreplitdbclient=AsyncClient()loop=asyncio.get_event_loop()data={...}loop.run_until_complete(client.set_dict(data))
importasyncioimportreplitdbclient=AsyncClient()data={...}asyncdeffoo():awaitclient.set_dict(data)asyncio.run(foo())
已知问题
- 在更换UPM无法自动检测包导入。在
- Defualt client在异步环境中不工作。在
不推荐使用的函数
client.add(name)
现在是{} client.add_dict({key:val})
现在是client.set_dict({key:val})
- 项目
标签: