Tạo random id dạng integer có độ dài khoảng 7-8 chữ số như thế nào?

  • UUID, GUID nó có dạng chuỗi, em muốn tạo random Id dạng integer tầm, 7,8 ký số mà không dùng Math.random thì có công nghệ, kỹ thuật, hay tên phương pháp mã hóa gì không nhỉ?
  • Trường hợp em muốn id là số để query db nhanh, nhưng kiểu số nguyên tối đa chỉ có 10 tỷ.

Em cảm ơn nhiều.

Gg với từ khóa Snowflake ID nhá.
Với cả, 7 đến 8 chữ số thì cũng đã đến 1 tỉ đâu mà lo. :v

5 Likes

Snowflake ID là dạng long (64 bit) mà cậu? :smile:
Cơ mà tớ đồng ý với cậu, bạn @TranMinhHoang nên cân nhắc dùng snowflake ID.

5 Likes

Ý là kêu bạn ấy tìm hiểu về snowflake ấy, chứ tự tạo format cho riêng mình cũng đc mà Sempai. :stuck_out_tongue:
8 chữ số thì 32 bit cũng thừa, vd chia ra 24 bit timestamp, 8 bit sequence. :v

5 Likes

À à, tớ hiểu ý cậu rồi :smile:
Tớ cũng đồng ý với cậu luôn. Bạn ấy có thể áp dụng giải thuật tương tự để gen ra số 32 bit :smile:

5 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?