Heim >Backend-Entwicklung >PHP-Tutorial >So erstellen Sie eine einzigartige 64 -Bit -Ganzzahl aus String
Die integrierte
-Be-Funktion von PHP erzeugt 32-Charakter-Hexadezimalzeichenfolgen, die zum Erstellen von Fingerabdrücken nützlich sind. Die Erzeugung einzigartiger 64-Bit-Ganzzahl-Fingerabdrücke aus URLs erfordert jedoch einen anderen Ansatz, insbesondere bei der Behandlung der Datenbankindexierungseffizienz. Dieser Artikel beschreibt eine Lösung zum Erstellen dieser eindeutigen IDs, wobei der Schwerpunkt auf URL-Heiligsprechung und effizientes 64-Bit-Ganzzahl-Konvertierung liegt. md5()
Schlüsselüberlegungen:
Die Herausforderung: effizient zuweisen eindeutige 64-Bit-Ganzzahl-IDs für die dynamische Widget-Entwicklung, die ineffiziente textbasierte Indexierung von URLs vermeiden.
Lösungsaufschlüsselung:
URL -Heiligsprechung: Die bereitgestellte -Funktion standardisiert URLs. Es senkt die URL, extrahiert den Host und den Pfad und verarbeitet die Abfragezeichenfolge. Die canonizeUrl()
-Funktion sortiert Abfrageparameter lexikografisch für Konsistenz, Handhabung doppelter Parameter und Anwendung von RFC 3986-konforme URL-Codierung. canonizeQueryString()
String in INT64-Konvertierung: Die -Funktion verwendet die GMP-Bibliothek, um die kanonisierte URL in eine 64-Bit-Ganzzahl umzuwandeln. Es dauert die ersten 16 Zeichen des MD5 -Hashs (zur Effizienz) und interpretiert sie als Hexadezimalzahl. get64BitHash()
Kombinierte Funktion: Die -Funktion kombiniert die obigen Schritte und liefert eine vollständige Lösung: Kanonisieren Sie die URL und konvertieren Sie sie dann in einen 64-Bit-Ganzzahl-Hash.
urlTo64BitHash()
(die Codebeispiele für
,, canonizeUrl()
und canonizeQueryString()
bleiben gleich wie in der ursprünglichen Eingabe.) urlencode_rfc3986()
get64BitHash()
Tests mit 10.000.000 Iterationen zeigten eine durchschnittliche Erzeugungszeit von 460 Millisekunden pro 100.000 URLs und es wurden keine Kollisionen festgestellt (unter Verwendung von Intel i3, Windows 7 64-Bit, Php 5.3). 🎜>
Schlussfolgerung: Dieser Ansatz bietet eine robuste und effiziente Methode zur Generierung von eindeutigen 64-Bit-Ganzzahl-IDs aus URLs, die für Anwendungen geeignet sind, die eine effiziente Indexierung der Datenbank und die Erzeugung der eindeutigen Kennung erfordern. Die Verwendung von GMP überwindet die Einschränkungen von PHP und die URL -Heiligsprechung sorgt für die Konsistenz.
häufig gestellte Fragen (FAQs): (Der FAQS -Abschnitt bleibt weitgehend mit dem ursprünglichen Eingang mit geringfügigen Formulierungsanpassungen für Klarheit und Konsistenz.)
Das obige ist der detaillierte Inhalt vonSo erstellen Sie eine einzigartige 64 -Bit -Ganzzahl aus String. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!