Redis comment stocker un tableau associatif? Définir ou de Hachage ou de la Liste?

Je suis un peu confus avec toutes les options de stockage de Redis.
Je veux faire quelque chose de simple et je ne veux pas en cours de conception.
Je travaille avec phpredis et Redis v2.8.6.

J'ai ce simple tableau associatif que j'ai besoin de stocker. J'ai aussi besoin d'être en mesure de récupérer un élément par sa clé et boucle sur tous les éléments.

$a = array(
    '12345' => array(
        'name' => 'Post A',
        'val2' => 'blah blah',
        'val3' => 'blah blah blah',
    ),
    '54321' => array(
        'name' => 'Post B',
        'val2' => 'blah blah',
        'val3' => 'blah blah blah',
    ),
    '998877' => array(
        'name' => 'Post C',
        'val2' => 'blah blah',
        'val3' => 'blah blah blah',
    )
);

Donc ce que je faisais jusqu'à présent a été l'aide de hash type. ranger mon tableau comme ceci:

foreach ($a as $key => $value) {
    $this->redis->hSet('posts', $key, json_encode($value));
}

Comme ça j'ai pu accéder à la clé facilement comme ceci:

public function getPost($postId)
{
    return json_decode($this->redis->hGet('posts', $postId), true);
}

//This is returning the information of Post A
$post = getPost(12345);

Mais maintenant j'ai besoin de faire une boucle sur tous les postes, je ne sais pas comment le faire et si je peux le faire avec ma structure actuelle. Je ne sais pas si j'en ai besoin pour stocker tous les post_id dans une autre liste pour être en mesure de boucler sur tous les postes?

Donc ma question est quel type de données(s) dois-je utiliser pour stocker ma liste de messages, ce qui me permet de récupérer un seul poste par son id et de boucler sur tous les postes?

Grâce,
Maxime

InformationsquelleAutor maxwell2022 | 2014-02-24