Laravel lägger till ett prefix till alla nycklar som skapas. Det prefixet är definierat i redis
config i database.php
.
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
Jag har inte tittat på källkoden än men troligen när laravel letar efter nycklar förväntar den sig prefixet och lägger till det till det du skickade till keys
eller get
. Så om du skickade keys('key_name')
den kommer att söka efter prefix_key_name
det är därför get
returnerade null
och keys
returnerade inte min nyckel skapad via Python i motsats till den som skapades via Laravel. Jag antar att scan
fungerar lite annorlunda och returnerar alla nycklar oavsett prefix.
Om du ställer in standardprefixet till null ('prefix' => env('REDIS_PREFIX', null
) så kommer din nyckel att returneras.
Använder get
och lägg till prefixet, så här Redis::get('prefix_key_name')
fungerar inte.