我正在使用会话将项目存储在用户愿望列表中。
愿望清单存储为一个简单的唯一项目 id 数组 - 普通用户会在愿望清单中存储大约 40 个项目,但用户可能希望在他们的愿望清单中添加多达几百个项目。
我想生成一个唯一的 URL,以便他们以后可以重新访问他们的愿望清单,或者与其他可以将其用作自己的清单起点的人共享愿望清单。
我没有从用户那里收集任何数据,他们也没有账户来链接他们的愿望清单数据。
我正在考虑的两种处理方法是:
将数据存储为 URL 末尾的哈希,可以是 url 编码的序列化字符串或 base64 编码的字符串。这似乎更可取,因为我不需要存储心愿单,这为用户修改现有列表提供了很大的灵活性,但是我怀疑如果心愿单中的项目数量增加并且 URL 长度超过可操作的字符数。
或者
生成具有唯一 ID 的 url 并将愿望清单保存到数据库中。我看到的问题是每次用户希望生成 URL 时都会向数据库添加一个新条目,并且由于这些条目不会与任何一个用户绑定,因此每次都需要生成一个新条目用户对列表进行任何修改的时间。
是否有另一种更好的方法来处理这个问题,或者有一种方法来管理与上述方法相关的问题?