2016-12-18 4 views
0

J'ai plusieurs instances redis et je veux y accéder via php. J'utilise phpredis 7. Comme j'ai plusieurs fonctions pour me connecter à différents serveurs, je les ai stockés dans un tableau.Redis stocké dans le tableau

function ud_1() { 
    $redis = new Redis(); 
    if ($redis->connect('127.0.0.1', 12341) == false) 
     return "Cannot connect to redis(ud_1)."; 
    else 
     return $redis; 
    $type = $UD; 
} 
$red =[ 
    "ud_1" => ud_1(), 
    "ud_2" => ud_2(), 
    "ud_3" => ud_3() 
]; 

Le tableau contient:

array(3) { ["ud_1"]=> object(Redis)#1 (1) { ["socket"]=> resource(3) of type (Redis Socket Buffer) } ["ud_2"]=> object(Redis)#2 (1) { ["socket"]=> resource(5) of type (Redis Socket Buffer) } ["ud_3"]=> object(Redis)#3 (1) { ["socket"]=> resource(7) of type (Redis Socket Buffer) } } 

Maintenant, je veux l'utiliser comme:

$red[0]->set("key1", "value1"); 

J'ai essayé, mais rien ne se passe vraiment. Quelqu'un peut-il me donner un indice où je me trompe?

Répondre

1

Je pense que vous accédez simplement à votre tableau incorrectement. Il semble que vous ayez un tableau associatif, donc vous y accédez en utilisant le nom de la clé:

$red['ud_1']->set("key1", "value1");