Position actuelle: Accueil> Derniers articles> Comment créer un système de recommandation de contenu efficace avec PHP et Redis

Comment créer un système de recommandation de contenu efficace avec PHP et Redis

M66 2025-06-12

introduction

Avec le développement d'Internet, les systèmes de recommandation de contenu jouent un rôle de plus en plus important dans diverses applications. Il peut recommander le contenu le plus pertinent en fonction des intérêts et des comportements des utilisateurs et améliorer la satisfaction et la participation des utilisateurs. Cet article présentera comment créer un système de recommandation de contenu simple à l'aide de PHP et Redis, et fournira des exemples de code.

Installer Redis

Tout d'abord, nous devons installer et configurer Redis sur le serveur. La dernière version stable peut être téléchargée à partir du site officiel de Redis et installée et configurée en fonction des instructions de la documentation.

Créer une connexion redis

Dans PHP, nous utilisons le package de l'extension PECL "Redis" pour connecter et utiliser Redis. Vous pouvez utiliser Composer pour installer ce package d'extension, en utilisant la commande suivante:

 composer require predis/predis

Ensuite, créez une instance de connexion redis:

 
<?php
require 'vendor/autoload.php';
use Predis\Client;

$redis = new Client([
    'scheme' => 'tcp',
    'host'   => '127.0.0.1',
    'port'   => 6379,
]);
?>

Stocker les données de contenu

Ensuite, nous devons stocker le contenu que nous voulons recommander dans Redis. Chaque contenu a un ID unique et peut être indexé en fonction des attributs du contenu (tels que le titre, l'étiquette, etc.). Le type de données de hachage de Redis peut être utilisé pour stocker les détails de chaque contenu:

 
<?php
// Stocker le contenu
$redis->hmset('content:1', [
    'title' => 'article1',
    'tags'  => 'PHP, Redis, Système recommandé',
    'url'   => 'https://example.com/content/1',
]);
?>

Enregistrer le comportement des utilisateurs

Afin de recommander le contenu le plus pertinent, nous devons enregistrer le comportement de l'utilisateur, tels que les clics, les collections, etc. Le type de données de définition trié de Redis peut être utilisé pour stocker le comportement de chaque utilisateur et le trier en fonction de l'ID utilisateur et du score de comportement. Par exemple, lorsqu'un utilisateur clique sur quelque chose, nous pouvons utiliser le code suivant pour enregistrer son comportement:

 
<?php
// Enregistrer le comportement de clic utilisateur
$userId = 1;
$contentId = 1;

$redis->zincrby('user:' . $userId . ':clicks', 1, $contentId);
?>

Obtenir un contenu recommandé

En fonction du comportement de l'utilisateur et des propriétés du contenu, nous pouvons utiliser le type de données SET de Redis pour obtenir du contenu recommandé. L'opération d'intersection de l'ensemble peut être utilisée pour obtenir le contenu le plus pertinent pour l'utilisateur. Par exemple, le code suivant obtient le contenu le plus pertinent pour un utilisateur avec un ID utilisateur de 1:

 
<?php
// Obtenir un contenu recommandé
$userId = 1;

// Obtenez le contenu cliqué par l&#39;utilisateurID
$clicks = $redis->zrevrange('user:' . $userId . ':clicks', 0, -1);

// Obtenez les balises pour le contenu
$tags = [];
foreach ($clicks as $contentId) {
    $tags[] = $redis->hget('content:' . $contentId, 'tags');
}

// Obtenez le contenu le plus pertinent pour l&#39;utilisateur
$recommendation = $redis->sinter('tag:' . implode(':', $tags) . ':contents');
?>

en conclusion

En créant un système de recommandation de contenu à l'aide de PHP et Redis, nous pouvons implémenter des fonctions de recommandation de contenu personnalisées. Cet article montre comment stocker les données de contenu, enregistrer le comportement des utilisateurs et utiliser plusieurs types de données de Redis pour extraire le contenu recommandé. Bien que ce système soit relativement simple, il jette les bases de moteurs de recommandation plus complexes.