Maison > Questions et réponses > le corps du texte
我做了一个list来做id的索引,一个hash存储具体的数据
key | value |
---|---|
lists | app_id:12 |
lists | app_id:13 |
lists | app_id:14 |
key | field | value |
---|---|---|
app_id:12 | app_name | 天气预报 |
app_sort | 1 | |
app_id:13 | app_name | 游戏推荐 |
app_sort | 3 | |
app_id:14 | app_name | 新闻评论 |
app_sort | 2 |
我之前是lrange操作list获得相关的app_id,然后去hash使用getall获得具体的数据
现在加了个排序的功能,暂时没有相关思路,不知道怎么处理???
高洛峰2017-04-22 09:02:34
php
$apple_ids = $redis->ZREVRANGE('lists', 0, -1); if(empty($apple_ids)){ return array(); } $_ = $redis->HMGET('hash', $apple_ids);
迷茫2017-04-22 09:02:34
NoSQL est essentiellement différent des bases de données relationnelles,
Le hachage est les données originales,
Votre liste équivaut à un index clusterisé,
Si vous souhaitez trier, vous devez parcourir les données, puis trier en mémoire, puis afficher. En fait, MySQL fait cela aussi,
.
Mais pourquoi MySQL est-il rapide ?
Parce qu'il y a un index,
Alors ajoutez simplement l'index,
Créez une nouvelle clé, tapez zset ou list,
zset est plus pratique, la liste doit être actualisée régulièrement,
Obtenez d’abord l’identifiant de zset ou de list, puis récupérez les données du hachage.
Bien sûr, vous pouvez également convertir directement les données en json et les stocker dans zset ou list.