Orang-orang url kecil suka menggunakan token acak karena Anda tidak bisa begitu saja mengatur tautan url kecil. "Ke mana # 2 pergi?" "Oh keren!" "Ke mana # 3 pergi?" "Lebih keren lagi!" Anda dapat mengetikkan karakter acak tetapi kecil kemungkinan Anda akan mendapatkan nilai yang valid.
Karena kuncinya agak jarang (4 nilai masing-masing memiliki 36* kemungkinan memberi Anda 1.679.616 nilai unik, 5 memberi Anda 60.466.176) kemungkinan tabrakan kecil (memang, ini adalah bagian yang diinginkan dari desain) dan indeks SQL yang baik akan membuat pencarian menjadi sepele (memang, ini adalah pencarian utama untuk url sehingga mereka mengoptimalkan di sekitarnya).
Jika Anda benar-benar ingin menghindari pencarian dan hanya membatalkan peningkatan otomatis, Anda dapat membuat fungsi yang mengubah bilangan bulat menjadi string karakter yang tampaknya acak dengan kemampuan untuk mengonversi kembali. Jadi "1" menjadi "54jcdn" dan "2" menjadi "pqmw21". Mirip dengan pengkodean Base64, tetapi tidak menggunakan karakter berurutan.
(*) Saya sebenarnya suka menggunakan kurang dari 36 karakter -- satu huruf, tanpa vokal, dan tidak ada karakter yang mirip (1, l, I). Ini mencegah kata-kata umpatan yang tidak disengaja dan juga memudahkan seseorang untuk mengucapkan nilainya kepada orang lain. Saya bahkan memetakan karakter yang mirip satu sama lain, menerima "0" untuk "O". Jika Anda sepenuhnya berbasis mesin, Anda dapat menggunakan huruf besar dan kecil serta semua angka untuk kemungkinan yang lebih besar lagi.