如何正确地将url存储在数据库中?

Posted

技术标签:

【中文标题】如何正确地将url存储在数据库中?【英文标题】:How to store the url in the database correctly? 【发布时间】:2021-09-30 19:41:11 【问题描述】:

我和其他人一样在数据库中有一个菜单:

id parent_id url
1 0 clothes
2 1 men
3 2 pants
3 1 women
4 3 pants

我来web.com/clothes/men/pants,我在控制器里抓到了url:

总是收集所有的 URL 很不方便:

对于菜单 了解我们属于哪个类别以便正确展示产品

也许我应该立即将完整的网址存储在数据库中?

共有1800个类别!并缓存所有内容!

id parent_id url
1 0 clothes
2 1 clothes/men
3 2 clothes/men/pants
3 1 clothes/women
4 3 clothes/women/pants

【问题讨论】:

【参考方案1】:

菜单由不同层次的层级元素组成。因此,一种合乎逻辑的方法是将它们存储在不同的表中,具体取决于那里的级别,所以:

1 级:

衣服

2 级:

男士

女性

3 级:

裤子

这种混合方法使分类级别的构建变得容易,而无需存储数以千计难以维护的完整 url 路径。

【讨论】:

以上是关于如何正确地将url存储在数据库中?的主要内容,如果未能解决你的问题,请参考以下文章

如何正确地将订单簿数据写入具有相同时间戳的 influxdb

如何正确地将对象/指针存储到 Qlist 中

如何正确地将时区设置为 UTC,以便以这种格式正确保存和检索所有时间戳?

如何正确地将身份验证令牌放在 GET 请求的标头中

如何正确地将 RelayState 传递给 Okta 的 ACS URL?

如何正确地将参数传递给基于类的视图测试 Django Rest Framework?