2010-10-25 3 views
1

J'ai long texte qui identifie quelques petites choses dans mon applicationgénérateur de code court pour un long texte en java

Par exemple mon code: U2Cd3c7a781856c69559539a78e9492e9772dfe1b67.2.nrg

Comme je partage cette clé en public, elle est un peu longue et je voudrais la raccourcir en la transformant juste comme shorturl pour qu'elle soit plus courte en public et en interne je voudrais mapper ce long texte car il contient peu d'informations comme un identifiant crypté, un identifiant utilisateur et etc.

Je suis à la recherche d'un code Java qui fait ci-dessus, je ne me dérange pas d'utiliser ma base de données pour stocker au cas où un générateur de code court a besoin de base de données.

Merci vous Rams

Répondre

2

Vous devez stocker dans une base de données, et il devrait être aussi simple que d'ajouter le nom de fichier à une table avec une colonne ID autoincrement, et en utilisant la colonne ID pour construire l'URL . Assurez-vous de mettre un cache quelque part. Vous ne voulez pas frapper la base de données chaque fois que vous avez besoin de rendre un lien.

0

La réponse de Marcelo est bonne si les liens sont de nature temporaire. Si les liens ont une longue durée de vie, j'ajouterais une autre colonne qui utiliserait une clé courte mais dense, générée aléatoirement (comme un numéro de base A-Z0-9 à 10 chiffres) et l'utiliserait pour l'URL. La raison en est que si vous avez besoin d'effectuer une maintenance de table (fusion de tests et de QA, par exemple), vous pouvez le faire sans trop vous soucier des conflits résultant de la même valeur autokey se référant à deux URL différentes. Où je travaillais précédemment, ils ne pensaient pas à des valeurs PK de codage en dur pour les tables d'état et de code. Cela signifiait que ces tables dans Prod, QA, Test et Dev devaient être identiques au PK. Quelle douleur!

Ainsi, je n'aime pas donner mes PK aux utilisateurs ...

Questions connexes