gpt4 book ai didi

redis - 在 Redis 中分离数据

转载 作者:可可西里 更新时间:2023-11-01 11:47:30 26 4
gpt4 key购买 nike

我目前正在开发一个使用 Redis 的应用程序。该应用列出了一堆这样的数据:

First name: Peter
Last name: Gabriel
Occupation: Singer

我们使用 Redis 来存储有关字段的一些信息(可见/隐藏、排序顺序、显示名称等...)。

数据以散列形式存储在 Redis 中,如下所示:

firstname
display
true
order
1
editable
false

lastname
display
true
order
2
editable
false

occupation
display
true
order
3
editable
true

所有这些数据都存储在数据库“0”中。

现在,我们希望我们的用户能够提交对值的更改请求。我们也想使用 Redis 来存储变更请求列表:

bradpitt
maritalstatus
[{ old: 'married', new: 'divorced' }]

鉴于这是用于两种不同情况的数据,是否有某种方法可以在 Redis 中逻辑分离数据。在 MongoDB 中有集合,在 SQL 中有表。是否有任何 Redis 等价物,或者我应该把它放在同一个地方?我应该使用数据库“1”吗?

谢谢

最佳答案

在redis的世界里,数据结构有很多种,但都是key-value存储的。 redis 中没有表或集合之类的东西。

您应该仔细命名所有键,并将所有键字符串保存在文件中(例如 common/constants)。例如,如果你想在redis中通过哈希存储用户信息,你可以这样做:

USER_INFO_HASH_KEY = "user_info_%s"

在你的app代码的其他地方,你可以从common/constants导入这个key,然后用user_id来填充placeholder,得到真正的key。像这样:

key = USER_INFO_HASH_KEY % user_id 
redis_conn.hset(key, field, value)

通过这种方式,您可以通过一个常量文件来管理您的应用程序中redis的所有键,而不用担心键名冲突。

另外你应该选择不同的数据库来存储你不同的数据,因为可能你的应用程序开发和运营中有很多情况,可能你想刷新一些数据,如果你在数据库中存储非常重要的数据,而便宜的数据在其他数据库,你可以很容易地做这件事。但这取决于您。

关于redis - 在 Redis 中分离数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45632860/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com