Sqids:从数字生成简短的唯一ID
hefengbao 发布于 2023.10.04 ,最后更新于 2023.10.04
Sqids(发音为“squids”)是一个开源库,可以让你从数字中生成看起来像YouTube的ID。这些ID很短,可以从自定义字母表中生成,并保证不会发生冲突。
以前的 Hashids 升级并更名为Sqids。
主要特性参见:https://www.8ug.icu/tweets/nFS2hmhgVL8dDFyH-2Yvdo4x0jl
使用场景:
-
链路缩短:在URL中使用安全
-
事件ID:快速无冲突ID生成
-
快速查找:解码回数字
不适用场景
-
敏感数据:这不是加密库
-
用户 ID:可以解码,显示用户数量
案例:
以本博客的 URL 为例 https://www.8ug.icu/articles/jetpack-compose-tutorial-permission-request-gk6b9lX0QX :
jetpack-compose-tutorial-permission-request-gk6b9lX0QX
包含两部分,其中 jetpack-compose-tutorial-permission-request
是依据标题生成的 Slug,gk6b9lX0QX
是根据数字 ID 生成的唯一字符ID。这么做的好处有:
1、URL 中字符可以概括文章的主要内容,据说有利于搜索引擎SEO;
2、字符 ID 可以逆向解析为数字 ID(数据库主键),这样查询数据库就可以根据主键查询,而不用为了提升查询效率而在 slug 字段添加索引等。
有 0 条评论
发表评论
您的电子邮箱地址不会被公开。 必填项已用 * 标注