Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

अपना खुद का TinyURL बनाना

छोटे यूआरएल लोग यादृच्छिक टोकन का उपयोग करना पसंद करते हैं क्योंकि तब आप छोटे यूआरएल लिंक को ट्रोल नहीं कर सकते हैं। "#2 कहाँ जाता है?" "ओह बढ़िया!" "#3 कहाँ जाता है?" "यहां तक ​​​​कि कूलर!" आप यादृच्छिक वर्णों में टाइप कर सकते हैं लेकिन इसकी संभावना नहीं है कि आप एक मान्य मान पर पहुंचेंगे।

चूंकि कुंजी बल्कि विरल है (प्रत्येक में 36 * संभावनाएं वाले 4 मान आपको 1,679,616 अद्वितीय मान देते हैं, 5 आपको 60,466,176 देता है) टकराव की संभावना कम है (वास्तव में, यह डिजाइन का एक वांछित हिस्सा है) और एक अच्छा एसक्यूएल इंडेक्स बना देगा लुकअप तुच्छ हो (वास्तव में, यह url के लिए प्राथमिक लुकअप है इसलिए वे इसके चारों ओर अनुकूलित करते हैं)।

यदि आप वास्तव में लुकअप से बचना चाहते हैं और ऑटो-इन्क्रीमेंट को अनसुना करना चाहते हैं तो आप एक ऐसा फ़ंक्शन बना सकते हैं जो एक पूर्णांक को प्रतीत होता है-यादृच्छिक वर्णों की एक स्ट्रिंग में वापस कनवर्ट करने की क्षमता के साथ बदल देता है। तो "1" "54jcdn" बन जाता है और "2" "pqmw21" बन जाता है। बेस64-एन्कोडिंग के समान, लेकिन लगातार वर्णों का उपयोग नहीं करना।

(*) मुझे वास्तव में 36 से कम वर्णों का उपयोग करना पसंद है - एकल-आवरण, कोई स्वर नहीं, और कोई समान वर्ण नहीं (1, l, I)। यह आकस्मिक अपशब्दों को रोकता है और किसी के लिए किसी और के लिए मूल्य बोलना भी आसान बनाता है। मैं "ओ" के लिए "0" को स्वीकार करते हुए एक-दूसरे के समान चरित्रों को भी मैप करता हूं। यदि आप पूरी तरह से मशीन आधारित हैं तो आप और भी अधिक संभावनाओं के लिए अपर और लोअर केस और सभी अंकों का उपयोग कर सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. फ़ील्ड नामों के आसपास बैकटिक्स का उपयोग करना

  2. जावास्क्रिप्ट से डेटा को mysql डेटाबेस में भेजें

  3. अपलोड की गई फ़ाइलों को कहाँ संग्रहीत करें (ध्वनि, चित्र और वीडियो)

  4. 'पसंद करें ('% यह%' या '% वह%') और कुछ =और 'काम नहीं कर रहा है

  5. Laravel - बहु-सम्मिलित पंक्तियां और आईडी पुनर्प्राप्त करें