Heim Backend-Entwicklung PHP-Tutorial PHP verwendet den GEO-Befehl (geografischer Standort) von Redis

PHP verwendet den GEO-Befehl (geografischer Standort) von Redis

May 10, 2019 am 09:54 AM
geo php redis

Redis bietet seit Version 3.2 Unterstützung für GEO (geografischer Standort), aber die Erde ist keine perfekte Kugel und die Abweichung kann im schlimmsten Fall 0,5 % betragen. Bereiche in der Nähe der Pole werden nicht unterstützt. Der gültige Längengrad liegt zwischen -180 Grad und 180 Grad. Wenn er den Bereich überschreitet, wird ein Fehler gemeldet.

PHP verwendet den GEO-Befehl (geografischer Standort) von Redis

Als ich GEO lernte, habe ich zur Demonstration auch die Koordinaten von Bergen verwendet einige Bergkoordinaten Koordinaten

1. Koordinaten

116.517159,39.922267
Nach dem Login kopieren
zum Schlüssel der Bergkoordinaten hinzufügen
$mountainCoordinates = array(
    array('115.793844', '40.584459', 'Hai_tuo'),//海陀山坐标
    array('115.056232', '39.948933', 'Small_wutai'),//小五台山坐标
    array('114.173822', '27.474563', 'Wu_gong'),//武功山坐标
    array('111.341648', '25.518178', 'Leek_ridge'),//韭菜岭坐标
    array('103.901761', '31.60487', 'Jiu_ding'),//九顶山坐标
    array('107.398009', '34.057777', 'Ao_Shan'),//鳌山坐标
);
Nach dem Login kopieren

2

try {
    $redis = new Redis();
    $redis->connect('192.168.75.132', 6379);
    foreach ($mountainCoordinates as $coordinates){
        $param = array('geoadd', 'mountainCoordinates');
        $param = array_merge($param, $coordinates);
        $ret = call_user_func_array(array($redis, 'rawCommand'), $param);
        print_r($ret);
    }
} catch (Exception $e){
    echo $e->getMessage();
}
Nach dem Login kopieren
Ausführungsergebnis
int(1)
int(1)
int(1)
int(1)
int(1)
int(1)
Nach dem Login kopieren

3. Berechnen Sie den Abstand zwischen den beiden Koordinaten

try {
    $redis = new Redis();
    $redis->connect('192.168.75.132', 6379);
    $param = array('geopos', 'mountainCoordinates', 'Hai_tuo', 'Wu_gong', 'Jiu_ding');
    $ret = call_user_func_array(array($redis, 'rawCommand'), $param);
    print_r($ret);
} catch (Exception $e){
    echo $e->getMessage();
}
Nach dem Login kopieren
Ausführungsergebnis: Der Abstand zwischen Haituo Mountain und Der Berg Xiaowutai ist 94,4219 km lang Ausführungsergebnis: nur das Meer Tuoshan, 95,8884 km von mir entfernt

Array
(
    [0] => Array
        (
            [0] => 115.79384654760360718
            [1] => 40.58445845049069334
        )
    [1] => Array
        (
            [0] => 114.1738244891166687
            [1] => 27.47456377424472151
        )
    [2] => Array
        (
            [0] => 103.90176326036453247
            [1] => 31.60486909089710394
        )
)
Nach dem Login kopieren

5. Nehmen Sie meine Koordinaten als Ursprung und nehmen Sie die Koordinaten entsprechend dem Radius von 1500 km (finden Sie die Berge innerhalb von 1500). Kilometer von mir entfernt)

try {
    $redis = new Redis();
    $redis->connect('192.168.75.132', 6379);
    $param = array('geodist', 'mountainCoordinates', 'Hai_tuo', 'Small_wutai', 'km');
    $ret = call_user_func_array(array($redis, 'rawCommand'), $param);
    var_dump($ret);
} catch (Exception $e){
    echo $e->getMessage();
}
Nach dem Login kopieren
Ausführungsergebnisse: 5 Berge wurden gefunden

string(7) "94.4219"
Nach dem Login kopieren

6. Nehmen Sie die Koordinaten des Xiaowutai-Berges als Ursprung und nehmen Sie die Koordinaten basierend auf einem Radius von 1000 km (Finden Sie die Berge im Umkreis von 1000 Kilometern vom Xiaowutai-Berg)

try {
    $redis = new Redis();
    $redis->connect('192.168.75.132', 6379);
    $param = array('georadius', 'mountainCoordinates', '116.517159', '39.922267', '100', 'km', 'WITHDIST', 'WITHCOORD');
    $ret = call_user_func_array(array($redis, 'rawCommand'), $param);
    print_r($ret);
} catch (Exception $e){
    echo $e->getMessage();
}
Nach dem Login kopieren
Ausführungsergebnisse: Mit Ausnahme von Xiaowutai selbst wurden Aoshan und Haituo Mountain gefunden

Array
(
    [0] => Array
        (
            [0] => Hai_tuo
            [1] => 95.8884
            [2] => Array
                (
                    [0] => 115.79384654760360718
                    [1] => 40.58445845049069334
                )
        )
)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonPHP verwendet den GEO-Befehl (geografischer Standort) von Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Die Zukunft von PHP: Anpassungen und Innovationen Die Zukunft von PHP: Anpassungen und Innovationen Apr 11, 2025 am 12:01 AM

Die Zukunft von PHP wird erreicht, indem sich an neue Technologietrends angepasst und innovative Funktionen eingeführt werden: 1) Anpassung an Cloud Computing, Containerisierung und Microservice -Architekturen, Unterstützung von Docker und Kubernetes; 2) Einführung von JIT -Compilern und Aufzählungsarten zur Verbesserung der Leistung und der Datenverarbeitungseffizienz; 3) die Leistung kontinuierlich optimieren und Best Practices fördern.

PHP vs. Python: Verständnis der Unterschiede PHP vs. Python: Verständnis der Unterschiede Apr 11, 2025 am 12:15 AM

PHP und Python haben jeweils ihre eigenen Vorteile, und die Wahl sollte auf Projektanforderungen beruhen. 1.PHP eignet sich für die Webentwicklung mit einfacher Syntax und hoher Ausführungseffizienz. 2. Python eignet sich für Datenwissenschaft und maschinelles Lernen mit präziser Syntax und reichhaltigen Bibliotheken.

So erstellen Sie den Redis -Clustermodus So erstellen Sie den Redis -Clustermodus Apr 10, 2025 pm 10:15 PM

Der Redis -Cluster -Modus bietet Redis -Instanzen durch Sharding, die Skalierbarkeit und Verfügbarkeit verbessert. Die Bauschritte sind wie folgt: Erstellen Sie ungerade Redis -Instanzen mit verschiedenen Ports; Erstellen Sie 3 Sentinel -Instanzen, Monitor -Redis -Instanzen und Failover; Konfigurieren von Sentinel -Konfigurationsdateien, Informationen zur Überwachung von Redis -Instanzinformationen und Failover -Einstellungen hinzufügen. Konfigurieren von Redis -Instanzkonfigurationsdateien, aktivieren Sie den Cluster -Modus und geben Sie den Cluster -Informationsdateipfad an. Erstellen Sie die Datei nodes.conf, die Informationen zu jeder Redis -Instanz enthält. Starten Sie den Cluster, führen Sie den Befehl erstellen aus, um einen Cluster zu erstellen und die Anzahl der Replikate anzugeben. Melden Sie sich im Cluster an, um den Befehl cluster info auszuführen, um den Clusterstatus zu überprüfen. machen

PHP: Stirbt es oder passt es sich einfach an? PHP: Stirbt es oder passt es sich einfach an? Apr 11, 2025 am 12:13 AM

PHP stirbt nicht, sondern sich ständig anpasst und weiterentwickelt. 1) PHP hat seit 1994 mehreren Versionen für die Version unterzogen, um sich an neue Technologietrends anzupassen. 2) Es wird derzeit in E-Commerce, Content-Management-Systemen und anderen Bereichen häufig verwendet. 3) PHP8 führt den JIT -Compiler und andere Funktionen ein, um die Leistung und Modernisierung zu verbessern. 4) Verwenden Sie Opcache und befolgen Sie die PSR-12-Standards, um die Leistung und die Codequalität zu optimieren.

So verwenden Sie den Befehl Redis So verwenden Sie den Befehl Redis Apr 10, 2025 pm 08:45 PM

Die Verwendung der REDIS -Anweisung erfordert die folgenden Schritte: Öffnen Sie den Redis -Client. Geben Sie den Befehl ein (Verbschlüsselwert). Bietet die erforderlichen Parameter (variiert von der Anweisung bis zur Anweisung). Drücken Sie die Eingabetaste, um den Befehl auszuführen. Redis gibt eine Antwort zurück, die das Ergebnis der Operation anzeigt (normalerweise in Ordnung oder -err).

So starten Sie den Server mit Redis So starten Sie den Server mit Redis Apr 10, 2025 pm 08:12 PM

Zu den Schritten zum Starten eines Redis -Servers gehören: Installieren von Redis gemäß dem Betriebssystem. Starten Sie den Redis-Dienst über Redis-Server (Linux/macOS) oder redis-server.exe (Windows). Verwenden Sie den Befehl redis-cli ping (linux/macOS) oder redis-cli.exe ping (Windows), um den Dienststatus zu überprüfen. Verwenden Sie einen Redis-Client wie Redis-Cli, Python oder Node.js, um auf den Server zuzugreifen.

So löschen Sie Redis -Daten So löschen Sie Redis -Daten Apr 10, 2025 pm 10:06 PM

So löschen Sie Redis -Daten: Verwenden Sie den Befehl Flushall, um alle Schlüsselwerte zu löschen. Verwenden Sie den Befehl flushdb, um den Schlüsselwert der aktuell ausgewählten Datenbank zu löschen. Verwenden Sie SELECT, um Datenbanken zu wechseln, und löschen Sie dann FlushDB, um mehrere Datenbanken zu löschen. Verwenden Sie den Befehl del, um einen bestimmten Schlüssel zu löschen. Verwenden Sie das Redis-Cli-Tool, um die Daten zu löschen.

So lesen Sie Redis -Warteschlange So lesen Sie Redis -Warteschlange Apr 10, 2025 pm 10:12 PM

Um eine Warteschlange aus Redis zu lesen, müssen Sie den Warteschlangenname erhalten, die Elemente mit dem Befehl LPOP lesen und die leere Warteschlange verarbeiten. Die spezifischen Schritte sind wie folgt: Holen Sie sich den Warteschlangenname: Nennen Sie ihn mit dem Präfix von "Warteschlange:" wie "Warteschlangen: My-Queue". Verwenden Sie den Befehl LPOP: Wischen Sie das Element aus dem Kopf der Warteschlange aus und geben Sie seinen Wert zurück, z. B. die LPOP-Warteschlange: my-queue. Verarbeitung leerer Warteschlangen: Wenn die Warteschlange leer ist, gibt LPOP NIL zurück, und Sie können überprüfen, ob die Warteschlange existiert, bevor Sie das Element lesen.

See all articles