Laravel बनाई गई सभी कुंजियों में एक उपसर्ग जोड़ता है। उस उपसर्ग को redis
. में परिभाषित किया गया है database.php
में कॉन्फिग करें ।
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
मैंने अभी तक स्रोत कोड को नहीं देखा है, लेकिन सबसे अधिक संभावना है कि जब लारवेल चाबियों की तलाश करता है तो यह उपसर्ग की अपेक्षा करता है और इसे जोड़ता है जिसे आपने keys
में पास किया है। या get
. तो अगर आपने keys('key_name')
. पास किया है यह prefix_key_name
को खोजेगा यही कारण है कि get
लौटा null
और keys
लैरावेल के माध्यम से बनाए गए एक के विपरीत पाइथन के माध्यम से बनाई गई मेरी कुंजी वापस नहीं की। मुझे लगता है scan
थोड़ा अलग तरीके से काम करता है और इसके उपसर्ग की परवाह किए बिना सभी कुंजियाँ लौटाता है।
यदि आप अपने उपसर्ग के डिफ़ॉल्ट को शून्य पर सेट करते हैं ('prefix' => env('REDIS_PREFIX', null
) तो आपकी कुंजी वापस कर दी जाएगी।
get
. का उपयोग करना और उपसर्ग जोड़ें, इस तरह Redis::get('prefix_key_name')
काम नहीं करता।