Redis je moćna i popularna pohrana podataka u memoriji koja se koristi za pohranu i obradu privremenih podataka u web aplikacijama. U Laravel, jednom od popularnih PHP okvira, možete jednostavno koristiti Redis za učinkovito rukovanje podatkovnim operacijama.
Ispod su neke uobičajene podatkovne operacije s Redis in Laravel:
Pohranjivanje podataka u Redis
Ovu funkciju možete koristiti set
za pohranjivanje para ključ-vrijednost u Redis:
use Illuminate\Support\Facades\Redis;
Redis::set('name', 'John Doe');
Dohvaćanje podataka iz Redis
Možete koristiti ovu get
funkciju za dohvaćanje vrijednosti Redis na temelju ključa:
use Illuminate\Support\Facades\Redis;
$name = Redis::get('name'); // Result: "John Doe"
Brisanje podataka iz Redis
Ovu funkciju možete koristiti del
za brisanje ključa i njegove odgovarajuće vrijednosti iz Redis:
use Illuminate\Support\Facades\Redis;
Redis::del('name');
Provjera postojanja podataka u Redis
Možete koristiti ovu exists
funkciju da provjerite postoji li ključ u Redis:
use Illuminate\Support\Facades\Redis;
if(Redis::exists('name')) {
// Key exists in Redis
} else {
// Key does not exist in Redis
}
Pohranjivanje podataka uz vrijeme trajanja(TTL)
Možete upotrijebiti setex
funkciju za pohranjivanje para ključ-vrijednost s vremenom života(TTL) u Redis:
use Illuminate\Support\Facades\Redis;
Redis::setex('token', 3600, 'abc123'); // Store the key 'token' with value 'abc123' for 1 hour
Pohranjivanje podataka kao popisa
Redis podržava pohranu podataka u obliku popisa. Možete koristiti funkcije kao što su lpush
, rpush
, lpop
, rpop
za dodavanje i uklanjanje elemenata s popisa:
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'
Pohranjivanje podataka kao skupa
Redis također podržava pohranu podataka kao skupa. Možete koristiti funkcije kao što su sadd
, srem
, smembers
za dodavanje, uklanjanje i dohvaćanje elemenata iz skupa:
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'
Pohranjivanje podataka kao hash
Redis podržava pohranu podataka kao hash, gdje je svaki ključ povezan sa skupom polja i vrijednosti. Možete koristiti funkcije kao što su hset
, hget
, hdel
, hgetall
za dodavanje, dohvaćanje i uklanjanje polja u hash-u:
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'
Rukovanje operacijama na temelju Transaction
Redis podržava transakcije za sigurno i dosljedno rukovanje podatkovnim operacijama. Možete koristiti funkcije multi
i exec
za početak i završetak 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
Zaključak Korištenje Redis ina Laravel vam omogućuje učinkovito rukovanje podatkovnim operacijama i optimiziranje performansi vaše aplikacije. Korištenjem osnovnih operacija podataka i naprednih značajki Redis, možete učinkovito pohraniti i obraditi podatke, poboljšati rad aplikacije i poboljšati korisničko iskustvo.