Sqids:从数字生成简短的唯一ID

Sqids(发音为“squids”)是一个开源库,可以让你从数字中生成看起来像YouTube的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 字段添加索引等。

未分类    ID  

hefengbao

暂无个人简介

有0条评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

来源:

https://www.8ug.icu/articles/sqids-generate-short-unique-ids-from-numbers-23P06zo0kg