Redis in Laravel: 데이터 작업 처리 및 성능 최적화

Redis 웹 애플리케이션에서 임시 데이터를 저장하고 처리하는 데 사용되는 강력하고 널리 사용되는 메모리 내 데이터 저장소입니다. 널리 사용되는 PHP 프레임워크 중 하나 인 에서 데이터 작업을 효율적으로 처리하기 위해 Laravel 쉽게 사용할 수 있습니다 Redis.

Redis 다음은 in을 사용한 몇 가지 일반적인 데이터 작업입니다 Laravel.

데이터 저장 Redis

set 이 함수를 사용하여 다음에 키-값 쌍을 저장할 수 있습니다 Redis.

use Illuminate\Support\Facades\Redis;  
  
Redis::set('name', 'John Doe');

데이터 검색 Redis

이 함수를 사용하여 키를 기반으로 get 값을 검색 할 수 있습니다. Redis

use Illuminate\Support\Facades\Redis;  
  
$name = Redis::get('name'); // Result: "John Doe"

데이터 삭제 Redis

del 이 함수를 사용하여 다음에서 키와 해당 값을 삭제할 수 있습니다 Redis.

use Illuminate\Support\Facades\Redis;  
  
Redis::del('name');

데이터 존재 확인 Redis

exists 기능을 사용하여 다음 위치에 키가 있는지 확인할 수 있습니다 Redis.

use Illuminate\Support\Facades\Redis;  
  
if(Redis::exists('name')) {  
    // Key exists in Redis  
} else {  
    // Key does not exist in Redis  
}  

TTL(Time-To-Live)로 데이터 저장

setex 함수를 사용하여 TTL(Time-to-Live)과 함께 키-값 쌍을 다음 위치에 저장할 수 있습니다 Redis.

use Illuminate\Support\Facades\Redis;  
  
Redis::setex('token', 3600, 'abc123'); // Store the key 'token' with value 'abc123' for 1 hour

데이터를 목록으로 저장

Redis 데이터를 목록으로 저장하는 것을 지원합니다. lpush, rpush, lpop 와 같은 함수를 사용하여 rpop 목록에서 요소를 추가하고 제거할 수 있습니다.

use Illuminate\Support\Facades\Redis;  
  
Redis::lpush('tasks', 'task1'); // Add 'task1' to the beginning of the list 'tasks'
Redis::rpush('tasks', 'task2'); // Add 'task2' to the end of the list 'tasks'  
  
$task1 = Redis::lpop('tasks'); // Get the first element of the list 'tasks'  
$task2 = Redis::rpop('tasks'); // Get the last element of the list 'tasks'

데이터를 집합으로 저장

Redis 데이터를 세트로 저장하는 것도 지원합니다. sadd, srem, 같은 함수를 사용하여 smembers 세트에서 요소를 추가, 제거 및 검색할 수 있습니다.

use Illuminate\Support\Facades\Redis;  
  
Redis::sadd('users', 'user1'); // Add 'user1' to the set 'users'
Redis::sadd('users', 'user2'); // Add 'user2' to the set 'users'  
  
Redis::srem('users', 'user2'); // Remove 'user2' from the set 'users'  
  
$members = Redis::smembers('users'); // Get all elements from the set 'users'

데이터를 해시로 저장

Redis 각 키가 일련의 필드 및 값과 연결되는 해시로 데이터 저장을 지원합니다. hset, hget, hdel, 같은 함수를 사용하여 hgetall 해시에서 필드를 추가, 검색 및 제거할 수 있습니다.

use Illuminate\Support\Facades\Redis;  
  
Redis::hset('user:1', 'name', 'John Doe'); // Add the field 'name' with value 'John Doe' to the hash 'user:1'
Redis::hset('user:1', 'email', '[email protected]'); // Add the field 'email' with value '[email protected]' to the hash 'user:1'  
  
$name = Redis::hget('user:1', 'name'); // Get the value of the field 'name' in the hash 'user:1'  
  
Redis::hdel('user:1', 'email'); // Remove the field 'email' from the hash 'user:1'  
  
$fields = Redis::hgetall('user:1'); // Get all fields and values in the hash 'user:1'

다음을 기반으로 작업 처리 Transaction

Redis 데이터 작업을 안전하고 일관되게 처리하기 위한 트랜잭션을 지원합니다. multiexec 함수를 사용하여 a를 시작하고 종료 할 수 있습니다 transaction.

use Illuminate\Support\Facades\Redis;  
  
Redis::multi(); // Begin the transaction  
  
Redis::set('name', 'John Doe');
Redis::set('email', '[email protected]');  
  
Redis::exec(); // End the transaction, operations will be executed atomically

 

결론 Redis in을 사용하면 Laravel 데이터 작업을 효율적으로 처리하고 응용 프로그램의 성능을 최적화할 수 있습니다. 의 기본 데이터 작업 및 고급 기능을 사용하여 Redis 데이터를 효과적으로 저장 및 처리하고 애플리케이션 성능을 개선하며 사용자 경험을 향상시킬 수 있습니다.