我有很长的文本,在我的应用程序中标识了一些东西
例如我的代码:U2Cd3c7a781856c69559539a78e9492e9772dfe1b67.2.nrg
当我在公共场合共享这个密钥时,它有点长,我想通过像 shorturl 一样进行转换来缩短它,以便在公共场合更短,并且在内部我想映射这个长文本,因为它包含的信息很少,例如加密记录id、用户id等。
我正在寻找一个上面的java代码,我不介意使用我的数据库来存储以防短代码生成器需要数据库。
谢谢公羊
您将必须存储在数据库中,它应该像将文件名添加到具有自动增量 ID 列的表中一样简单,并使用 ID 列来构建 URL。确保在某处放置缓存。您不想每次需要呈现链接时都访问数据库。
如果链接是临时性质的,Marcelo 的回答很好。如果链接是长期存在的,我会添加另一列,该列使用一个简短但密集的随机生成的密钥(例如 10 位基数 36 数字 A-Z0-9)并将其用于 URL。原因是如果您需要进行任何类型的表维护(例如合并测试和 QA 数据),您可以这样做而不必过多担心由于引用两个不同 URL 的相同自动键值导致的冲突。
在我之前工作的地方,他们对状态和代码表的硬编码 PK 值一无所知。这意味着 prod、QA、Test 和 Dev 中的这些表必须与 PK 相同。多么痛苦!
因此,我不喜欢将我的 PK 给用户......