Redis em Laravel: Manipulação de operações de dados e otimização de desempenho

Redis é um poderoso e popular armazenamento de dados na memória usado para armazenar e processar dados temporários em aplicativos da web. Em Laravel, uma das estruturas PHP populares, você pode facilmente usar Redis para lidar com operações de dados com eficiência.

Abaixo estão algumas operações de dados comuns com Redis in Laravel:

Armazenando dados em Redis

Você pode usar a set função para armazenar um par chave-valor em Redis:

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

Recuperando dados de Redis

Você pode usar a get função para recuperar um valor com Redis base na chave:

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

Excluindo dados de Redis

Você pode usar a del função para excluir uma chave e seu valor correspondente de Redis:

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

Verificando a existência de dados em Redis

Você pode usar a exists função para verificar se existe uma chave em Redis:

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

Armazenamento de dados com tempo de vida(TTL)

Você pode usar a setex função para armazenar um par chave-valor com um tempo de vida(TTL) em Redis:

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

Armazenando dados como uma lista

Redis suporta o armazenamento de dados como uma lista. Você pode usar funções como lpush, rpush, lpop, rpop para adicionar e remover elementos da lista:

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'

Armazenando dados como um conjunto

Redis também suporta o armazenamento de dados como um conjunto. Você pode usar funções como sadd, srem, smembers para adicionar, remover e recuperar elementos do conjunto:

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'

Armazenando dados como um hash

Redis suporta o armazenamento de dados como um hash, onde cada chave é associada a um conjunto de campos e valores. Você pode usar funções como hset, hget, hdel, hgetall para adicionar, recuperar e remover campos no hash:

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'

Manipulação de operações com base em Transaction

Redis suporta transações para lidar com operações de dados de forma segura e consistente. Você pode usar as funções multi e exec para iniciar e terminar um 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

 

Conclusão O uso Redis de in Laravel permite lidar com operações de dados com eficiência e otimizar o desempenho de seu aplicativo. Ao usar operações básicas de dados e recursos avançados do Redis, você pode armazenar e processar dados com eficiência, melhorar o desempenho do aplicativo e aprimorar a experiência do usuário.