首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏adu_blog

    NanoId取代UUID

    小巧. 130 bytes (已压缩和 gzipped)。 没有依赖。 Size Limit 控制大小。

    2.6K20编辑于 2022-10-30
  • uuid 不同的版本 - nanoid

    NanoIDhttps://github.com/ai/nanoid一个小巧、安全、URL友好、唯一的JavaScript字符串ID生成器。小巧.安全.它使用硬件随机生成器。可在集群中使用。 可移植.NanoID已被移植到20种编程语言。golang:https://github.com/jaevor/go-nanoid缺点:无序的。需要有序性请使用uuid-v7/snowflake等

    16010编辑于 2026-01-08
  • 来自专栏猿天地

    UUID正在被NanoID取代?

    我们所需要做的就是运行 npm i nanoid 命令安装 NanoID NPM 库 并在我们的项目中使用它: import { nanoid } from 'nanoid';   model.id =  nanoid(); “ 你是否知道 NanoID 每周的 NPM 下载量超过 1175.4 万,并且运行起来比 UUID 快 60%? 但是,NanoID 使用 crypto module 和 Web Crypto API,意味着 NanoID 更安全。 它既快速又紧凑 NanoID 比 UUID 快 60%。与 UUID 字母表中的 36 个字符不同,NanoID 只有 21 个字符。 另外,如果你使用 NanoID 作为表的主键,如果你使用相同的列作为聚集索引也会出现问题。这是因为 NanoID 不是连续的。

    70440编辑于 2022-03-31
  • 来自专栏用户9257747的专栏

    换掉 UUID,NanoID 更快、更短、更安全

    其中,NanoID 是 UUID 的主要竞争对手之一。 因此,在本文中,我们将展开讨论 NanoID 的功能、它的亮点以及它的局限性,以便让我们更好地了解何时使用它。 NanoID的特点 1. 但是,NanoID 使用 crypto module 和 Web Crypto API,意味着 NanoID 更安全。 我们可以使用 npx nanoid 在终端中获得唯一 ID。在 JavaScript 中使用 NanoID 唯一的要求是要先安装 NodeJS。 使用 NodeJS NanoID 每周的 NPM 下载量超过 1175.4 万,并且运行起来比 UUID 快 60% 安装 npm i nanoid 使用 import { nanoid } from “https://www.npmtrends.com/nanoid-vs-uuid 来源:https://www.npmjs.com/package/nanoid 上述基准测试显示了 NanoID

    1.1K20编辑于 2022-05-17
  • 来自专栏程序员成长指北

    为什么 NanoID 正在取代 UUID?

    其中,NanoID是UUID的主要竞争对手之一。因此,在本文中,将讨论NanoID的特点、它的亮点以及它的局限性,以便更好地理解他和使用它。 了解NanoID及其用法 JavaScript中,生成UUID或NanoID都非常简单。都有NPM软件包。我们只需使用NPM i NanoID命令安装NanoID NPM库,就能项目中使用它。 import { nanoid } from 'nanoid'; model.id = nanoid(); NanoID每周NPM下载量超过11754K,而且速度比UUID快60%, 此外,NanoID image.png 1.NanoID的大小只有108字节 与UUID不同,NanoID的大小比UUID小4.5倍,并且没有任何依赖性。这直接影响数据的大小。 考虑到NanoID的小尺寸、URL友好性、安全性和速度,建议在未来的项目中使用NanoID而不是UUID。

    1.4K30编辑于 2022-04-18
  • 来自专栏芋道源码1024

    NanoID 了解一下?比 UUID 更好用!

    我们所需要做的就是运行 npm i nanoid 命令安装 NanoID NPM 库 并在我们的项目中使用它: import { nanoid } from 'nanoid';   model.id =  nanoid(); “你是否知道 NanoID 每周的 NPM 下载量超过 1175.4 万,并且运行起来比 UUID 快 60%?” 但是,NanoID 使用 crypto module 和 Web Crypto API,意味着 NanoID 更安全。 它既快速又紧凑 NanoID 比 UUID 快 60%。与 UUID 字母表中的 36 个字符不同,NanoID 只有 21 个字符。 但是,与 UUID 相比,NanoID 更短且可读。 另外,如果你使用 NanoID 作为表的主键,如果你使用相同的列作为聚集索引也会出现问题。这是因为 NanoID 不是连续的。

    1.4K10编辑于 2022-03-30
  • 来自专栏程序猿DD

    NanoID 了解一下?比 UUID 更好用!

    了解 NanoID 及其用法 对于 JavaScript,生成 UUID 或 NanoID 都非常简单。它们都有对应的 NPM 包来帮助我们实现生成。 我们所需要做的就是运行 npm i nanoid 命令安装 NanoID NPM 库 并在我们的项目中使用它: import { nanoid } from 'nanoid';   model.id =  nanoid(); “你是否知道 NanoID 每周的 NPM 下载量超过 1175.4 万,并且运行起来比 UUID 快 60%?” 但是,NanoID 使用 crypto module 和 Web Crypto API,意味着 NanoID 更安全。 但是,与 UUID 相比,NanoID 更短且可读。 另外,如果你使用 NanoID 作为表的主键,如果你使用相同的列作为聚集索引也会出现问题。这是因为 NanoID 不是连续的。

    2.8K30编辑于 2022-03-28
  • 来自专栏Java那些事

    再见 UUID !!!

    了解 NanoID 及其用法 对于 JavaScript,生成 UUID 或 NanoID 都非常简单。它们都有对应的 NPM 包来帮助我们实现生成。 我们所需要做的就是运行 npm i nanoid 命令安装 NanoID NPM 库 并在我们的项目中使用它: import { nanoid } from 'nanoid'; model.id = nanoid(); “你是否知道 NanoID 每周的 NPM 下载量超过 1175.4 万,并且运行起来比 UUID 快 60%?” 但是,NanoID 使用 crypto module 和 Web Crypto API,意味着 NanoID 更安全。 但是,与 UUID 相比,NanoID 更短且可读。 另外,如果你使用 NanoID 作为表的主键,如果你使用相同的列作为聚集索引也会出现问题。这是因为 NanoID 不是连续的。

    2.8K20编辑于 2022-05-21
  • 来自专栏前端实验室

    比UUID更轻量的唯一ID生成器

    但今天要给大家分享 UUID 最主要的竞争对手:NanoID NanoID NanoID, 是一个小巧、安全、URL友好、唯一的 JavaScript 字符串 ID 生成器。 npm i nanoid import { nanoid } from 'nanoid' model.id = nanoid() //=> "V1StGXR8_Z5jdHi6B-myT" UUID 和NanoID的区别 NanoID 大小只有 108 字节 与 UUID 不同,NanoID 的大小要小 4.5 倍,并且没有任何依赖关系。 import { nanoid } from ‘@reduxjs/toolkit’ console.log(nanoid()) //‘dgPXxUz_6fWIQBD8XmiSy’ 自定义字母 NanoID 因此,基于NanoID 更小、更快、更安全、更不易冲突,个人更推荐使用 NanoID

    2.1K10编辑于 2023-05-23
  • 来自专栏韩锋频道

    浅谈几种常见的分布式ID

    由于 NanoID 使用比 UUID 更大的字母表,因此较短的 ID 可以用于与较长的 UUID 相同的目的。 ❖ 优点 更小 NanoID 只有 108 个字节那么大。 但是,NanoID 使用 crypto module 和 Web Crypto API,意味着 NanoID 更安全。 更快 NanoID既快速又紧凑,NanoID 比 UUID 快 60%。与 UUID 字母表中的 36 个字符不同,NanoID 只有 21 个字符。 我们可以使用 npx nanoid 在终端中获得唯一 ID。在 JavaScript 中使用 NanoID 唯一的要求是要先安装 NodeJS。 = nanoid(); 没有第三方依赖 由于 NanoID 不依赖任何第三方依赖,随着时间的推移,它能够变得更加稳定自治。

    2K20编辑于 2022-11-24
  • 来自专栏程序小小事

    比UUID更轻量、更安全的工具

    npm i nanoidimport { nanoid } from 'nanoid'model.id = nanoid() //=> "V1StGXR8_Z5jdHi6B-myT"UUID和NanoID 的区别NanoID 大小只有 108 字节与 UUID 不同,NanoID 的大小要小 4.5 倍,并且没有任何依赖关系。 在UUID的字母表里有36个字符,而NanoID只有21个字符。因此NanoID较短的 ID 可以用于与较长的 UUID 表示相同的目的。 NanoID 比 UUID 更年轻,且从npm趋势对比来看,NanoID的上升趋势更明显,而UUID的进展则很平缓。 因此,基于NanoID 更小、更快、更安全、更不易冲突,个人更推荐使用 NanoID

    89400编辑于 2023-05-08
  • 来自专栏wayn的程序开发

    Redis锁过期了,任务没执行完,怎么处理?自己动手实现加解锁逻辑

    timeoutTmp = timeout; if (timeout == null) { timeoutTmp = DEFAULT_TIME_OUT; } String nanoId = IdUtil.nanoId(); stringThreadLocal.set(nanoId); RedisScript<Long> redisScript = new DefaultRedisScript Long.class); Long execute = (Long) redisTemplate.execute(redisScript, Collections.singletonList(key), nanoId Long result = (Long) redisTemplate.execute(renewRedisScript, Collections.singletonList(key), nanoId 2.1 释放锁public boolean unLock(final String key) { String nanoId = stringThreadLocal.get(); RedisScript

    3.8K31编辑于 2023-02-26
  • 来自专栏java和python

    VUE2.0 学习(十九)综合项目,代办事项项目(一)生成随机数,使用nanoid库,需求的确定,各个组件之间的传参

    目录 使用nanoid库 需求 思路 实现 父亲把数据给儿子的方法 儿子把数据给父亲 使用nanoid库 首先是安装 npm install nanoid 安装完成之后, 以上就安装完成 如何使用呢

    60630发布于 2021-10-26
  • 来自专栏掘金安东尼

    生成 UUID 的三种方式及测速对比!

    月更文挑战的第22天,活动详情查看:2021最后一次更文挑战 ---- 本篇译自:https://medium.com/@abdelmatyne5/uuid-vs-crypto-randomuuid-vs-nanoid 上手: import { nanoid } from 'nanoid' let uuid = nanoid(); console.log(uuid) // ⇨ "V1StGXR8_Z5jdHi6B-myT const { nanoid } = require('nanoid'); for (let i = 0; i < 10_000_000; i++) { nanoid(); } 借助 hyperfine ; 调用测试:hyperfine ‘node test-uuid-gen.js’ ‘node test-crypto-gen.js’ ‘node test-nanoid-gen.js’ 运行结果: 我们可以看到, 第二种 randomUUID() 比第三种 nanoid 快 4 倍左右,比第一种 uuid 快 12 倍左右~ ---- OK,以上就是本篇分享~ 撰文不易,点赞鼓励 我是掘金安东尼,

    2.7K10编辑于 2022-09-19
  • 来自专栏CRPER折腾记

    前后端通讯:非敏感信息Cookie的"强化"之路

    https://github.com/ai/nanoid : nanoid也能生成随机字符(贼快) 我们在AES的前后拼接特殊字符串或者nanoid是为了增大破解难度, 不至于Base64解码后就是Raw <script> import {nanoid} from 'nanoid' import AES from "crypto-js/aes"; import EncUTF8 from "crypto-js + e); return false; } } }, }, created() { console.time('nanoid 8位数生成时间 ') console.log(nanoid(8)); console.timeEnd('nanoid 8位数生成时间') console.time('加密时间') UUIDText); // base64 this.tempInfo = window.btoa(UUIDText); console.log( "%c AES+NanoID

    78020编辑于 2022-03-08
  • 来自专栏Java实战博客

    常见的ID生成策略 – IdUtil – Hutool的ID生成工具

    本页目录 IdUtil案例 常见ID生成策略 UUID ❄️雪花算法(我觉得了解再多,还得是万能的雪花算法❄️) MongoDB唯一主键 Redis自增主键策略 IdUtil案例 演示了:UUID、nanoID System.out.println(IdUtil.fastSimpleUUID()); // 5547f7f9f0d2428787cdba7b6bd61616 System.out.println(IdUtil.nanoId ()); // y-E4JNXw_jURG0GE2sPV0 System.out.println(IdUtil.nanoId(10)); // z6xBGVGM-L System.out.println

    11.4K10编辑于 2023-03-06
  • 来自专栏架构专题

    注意:雪花算法并不是ID的唯一选择!

    NanoID NanoID是从JavaScript库中演变过来的,目前在多个语言上通用。它长下面这样。 V1StGXR8_Z5jdHi6B-myT 虽然NanoID无法替代雪花算法,但就凭这长度,替换UUID是绰绰有余的。NanoID 大小只有 108 字节,比UUID小了35%,更加紧凑。 如果你的ID对顺序性没有什么严格的要求,比如使用了kv等非常松散的数据库,那么NanoID是你的不二选择。 End 介绍了这么多,你会用哪种ID生成器呢?

    3.7K30编辑于 2022-09-26
  • 来自专栏Vue2

    《进阶篇第9章》学习vuex知识点后练习:把求和案例改成vuex模块化编码

    } from 'nanoid'export default {name:'Person',data() {return {name:''}},computed:{personList(){return $store.commit('personAbout/ADD_PERSON',personObj)this.name = ''},addWang(){const personObj = {id:nanoid getters:{bigSum(state){return state.sum*10}},}person.js//人员管理相关的配置import axios from 'axios'import { nanoid } from 'nanoid'export default {namespaced:true,actions:{addPersonWang(context,value){if(value.name.indexOf type=social').then(response => {context.commit('ADD_PERSON',{id:nanoid(),name:response.data})},error

    25210编辑于 2024-10-15
  • 来自专栏Newxc03的前端之路

    Vuex初探——求和小案例

    v-for="p in personList" :key="p.id">{{p.name}}

</template> <script> import {nanoid } from 'nanoid' export default { name:'Person', data() { return { name:'' } }, computed personAbout/ADD_PERSON',personObj) this.name = '' }, addWang(){ const personObj = {id:nanoid } from 'nanoid' export default { namespaced:true, actions:{ addPersonWang(context,value){ if( type=social').then( response => { context.commit('ADD_PERSON',{id:nanoid(),name:response.data

1K10编辑于 2022-01-13
  • 来自专栏java开发的那点事

    02-React脚手架+Todos项目(组件拆分, State应用, 组件通信+数据校验, nanoid)

    只执行一次, 后续数据改变, 不会触发重新渲染 checked每次都会渲染, 但是如果使用checked, 必须实现onChange函数, 处理状态改变, 不然就会无法取消选中,或者选中 前端生成唯一ID(nanoid ) 添加nanoid依赖库 yarn add nanoid 使用 导入后以函数的方式调用 Props数据校验 脚手架不会自动依赖这个库,需要手动依赖, 使用方式和之前一样, 我就只写添加依赖库了 yarn

    47520编辑于 2022-08-24
  • 第 2 页第 3 页第 4 页
    点击加载更多
    领券