Redis एक शक्तिशाली और लोकप्रिय इन-मेमोरी डेटा स्टोर है जिसका उपयोग वेब अनुप्रयोगों में अस्थायी डेटा को संग्रहीत और संसाधित करने के लिए किया जाता है। Laravel लोकप्रिय PHP फ्रेमवर्क में से एक, आप आसानी से Redis डेटा संचालन को कुशलतापूर्वक संभालने के लिए उपयोग कर सकते हैं।
Redis नीचे कुछ सामान्य डेटा ऑपरेशन दिए गए हैं 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
}
टाइम-टू-लाइव(टीटीएल) के साथ डेटा संग्रहीत करना
आप setex
टाइम-टू-लाइव(टीटीएल) के साथ कुंजी-मूल्य जोड़ी को स्टोर करने के लिए फ़ंक्शन का उपयोग कर सकते हैं 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
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 से Laravel आप डेटा संचालन को कुशलतापूर्वक संभाल सकते हैं और अपने एप्लिकेशन के प्रदर्शन को अनुकूलित कर सकते हैं। बुनियादी डेटा संचालन और उन्नत सुविधाओं का उपयोग करके Redis, आप डेटा को प्रभावी ढंग से संग्रहीत और संसाधित कर सकते हैं, एप्लिकेशन प्रदर्शन में सुधार कर सकते हैं और उपयोगकर्ता अनुभव को बढ़ा सकते हैं।