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 데이터 작업을 안전하고 일관되게 처리하기 위한 트랜잭션을 지원합니다. multi
및 exec
함수를 사용하여 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 데이터를 효과적으로 저장 및 처리하고 애플리케이션 성능을 개선하며 사용자 경험을 향상시킬 수 있습니다.