Mit der Entwicklung des Internets spielen Inhaltsempfehlungssysteme in verschiedenen Anwendungen eine immer wichtigere Rolle. Es kann die relevantesten Inhalte empfehlen, die auf Benutzerinteressen und Verhaltensweisen basieren, und die Benutzerzufriedenheit und Teilnahme zu verbessern. In diesem Artikel wird vorgestellt, wie ein einfaches Inhaltsempfehlungssystem mit PHP und Redis erstellt und Codebeispiele bereitgestellt werden.
Zunächst müssen wir Redis auf dem Server installieren und konfigurieren. Die neueste stabile Version kann von der offiziellen Website von Redis heruntergeladen und gemäß den Anweisungen in der Dokumentation installiert und konfiguriert werden.
In PHP verwenden wir das PECL -Erweiterungspaket "Redis", um Redis zu verbinden und zu bedienen. Mit dem Komponisten können Sie dieses Erweiterungspaket mit dem folgenden Befehl installieren:
composer require predis/predis
Erstellen Sie dann eine Redis -Verbindungsinstanz:
<?php
require 'vendor/autoload.php';
use Predis\Client;
$redis = new Client([
'scheme' => 'tcp',
'host' => '127.0.0.1',
'port' => 6379,
]);
?>
Als nächstes müssen wir die Inhalte speichern, die wir in Redis empfehlen möchten. Jeder Inhalt hat eine eindeutige ID und kann basierend auf den Attributen des Inhalts (wie Titel, Etikett usw.) indiziert werden. Der Hash -Datentyp von Redis kann verwendet werden, um Details jedes Inhalts zu speichern:
<?php
// Inhalte speichern
$redis->hmset('content:1', [
'title' => 'Artikel1',
'tags' => 'PHP, Redis, Empfohlenes System',
'url' => 'https://example.com/content/1',
]);
?>
Um den relevantesten Inhalt zu empfehlen, müssen wir das Verhalten des Benutzers wie Klicks, Sammlungen usw. aufzeichnen. Der sortierte Datentyp von Redis kann verwendet werden, um das Verhalten jedes Benutzers zu speichern und nach Benutzer -ID und Verhaltensbewertung zu sortieren. Wenn ein Benutzer beispielsweise auf etwas klickt, können wir den folgenden Code verwenden, um sein Verhalten aufzuzeichnen:
<?php
// Benutzerklick auf Verhalten aufnehmen
$userId = 1;
$contentId = 1;
$redis->zincrby('user:' . $userId . ':clicks', 1, $contentId);
?>
Basierend auf dem Verhalten des Benutzers und den Eigenschaften des Inhalts können wir den festgelegten Datentyp von Redis verwenden, um empfohlene Inhalte zu erhalten. Der Kreuzungsbetrieb des Satzes kann verwendet werden, um den relevantesten Inhalt für den Benutzer zu erhalten. Beispielsweise erhält der folgende Code einen Benutzer mit einer Benutzer -ID von 1 den relevantesten Inhalt:
<?php
// Erhalten Sie empfohlene Inhalte
$userId = 1;
// Lassen Sie den von dem Benutzer klicken in den Inhalt erhaltenID
$clicks = $redis->zrevrange('user:' . $userId . ':clicks', 0, -1);
// Holen Sie sich die Tags für Inhalte
$tags = [];
foreach ($clicks as $contentId) {
$tags[] = $redis->hget('content:' . $contentId, 'tags');
}
// Holen Sie sich dem Benutzer den relevantesten Inhalt
$recommendation = $redis->sinter('tag:' . implode(':', $tags) . ':contents');
?>
Durch Erstellen eines Inhaltsempfehlungssystems mit PHP und Redis können wir personalisierte Inhaltsempfehlungsfunktionen implementieren. Dieser Artikel zeigt, wie Inhaltedaten gespeichert, Benutzerverhalten aufzeichnen und die mehrfachen Datentypen von Redis verwendet werden, um empfohlene Inhalte zu extrahieren. Obwohl dieses System relativ einfach ist, bildet es den Grundstein für komplexere Empfehlungsmotoren.