인터넷 개발을 통해 컨텐츠 추천 시스템은 다양한 응용 프로그램에서 점점 더 중요한 역할을합니다. 사용자 관심사 및 행동을 기반으로 가장 관련성이 높은 콘텐츠를 추천하고 사용자 만족도 및 참여를 향상시킬 수 있습니다. 이 기사는 PHP 및 Redis를 사용하여 간단한 컨텐츠 권장 시스템을 구축하고 코드 예제를 제공하는 방법을 소개합니다.
먼저 서버에 Redis를 설치하고 구성해야합니다. 최신 안정 버전은 Redis의 공식 웹 사이트에서 다운로드하여 문서의 지침에 따라 설치 및 구성 할 수 있습니다.
PHP에서는 PECL 확장 패키지 "redis"를 사용하여 Redis를 연결하고 작동합니다. Composer를 사용하여 다음 명령을 사용 하여이 확장 패키지를 설치할 수 있습니다.
composer require predis/predis
그런 다음 redis 연결 인스턴스를 만듭니다.
<?php
require 'vendor/autoload.php';
use Predis\Client;
$redis = new Client([
'scheme' => 'tcp',
'host' => '127.0.0.1',
'port' => 6379,
]);
?>
다음으로 Redis에 추천하려는 콘텐츠를 저장해야합니다. 각 컨텐츠에는 고유 한 ID가 있으며 컨텐츠의 속성 (제목, 레이블 등)을 기반으로 색인화 할 수 있습니다. Redis의 해시 데이터 유형은 각 컨텐츠의 세부 사항을 저장하는 데 사용될 수 있습니다.
<?php
// 내용을 저장하십시오
$redis->hmset('content:1', [
'title' => '기사1',
'tags' => 'PHP, Redis, 권장 시스템',
'url' => 'https://example.com/content/1',
]);
?>
가장 관련성이 높은 컨텐츠를 추천하려면 클릭, 컬렉션 등과 같은 사용자의 동작을 기록해야합니다. Redis의 정렬 된 세트 데이터 유형을 사용하여 각 사용자의 동작을 저장하고 사용자 ID 및 동작 점수에 따라 정렬 할 수 있습니다. 예를 들어, 사용자가 무언가를 클릭하면 다음 코드를 사용하여 동작을 기록 할 수 있습니다.
<?php
// 사용자 기록을 클릭하십시오
$userId = 1;
$contentId = 1;
$redis->zincrby('user:' . $userId . ':clicks', 1, $contentId);
?>
사용자의 동작 및 컨텐츠의 속성에 따라 Redis의 설정 데이터 유형을 사용하여 권장 콘텐츠를 얻을 수 있습니다. 세트의 교차로 작동은 사용자에게 가장 관련성이 높은 컨텐츠를 얻는 데 사용될 수 있습니다. 예를 들어, 다음 코드는 사용자 ID가 1 인 사용자에게 가장 관련성있는 컨텐츠를 얻습니다.
<?php
// 권장 콘텐츠를 받으십시오
$userId = 1;
// 사용자가 컨텐츠를 클릭하십시오ID
$clicks = $redis->zrevrange('user:' . $userId . ':clicks', 0, -1);
// 콘텐츠 태그를 얻으십시오
$tags = [];
foreach ($clicks as $contentId) {
$tags[] = $redis->hget('content:' . $contentId, 'tags');
}
// 가장 관련성이 높은 콘텐츠를 사용자에게 가져옵니다
$recommendation = $redis->sinter('tag:' . implode(':', $tags) . ':contents');
?>
PHP 및 Redis를 사용하여 컨텐츠 권장 시스템을 구축하면 개인화 된 컨텐츠 권장 기능을 구현할 수 있습니다. 이 기사는 컨텐츠 데이터를 저장하고 사용자 동작을 기록하며 Redis의 여러 데이터 유형을 사용하여 권장 콘텐츠를 추출하는 방법을 보여줍니다. 이 시스템은 비교적 간단하지만보다 복잡한 권장 엔진의 기초가됩니다.