redis 如何实现数据筛选
黄舟
黄舟 2017-04-22 09:00:37
0
6
1314

redis 如何实现数据按 id 或者 timestamp 筛选?
比如,像 sql 这样

sqlselect * from news_table where id > '512';
select * from news_table where id > '512' and cat_id = '2';
select * from news_table where pubdate > 'yesterday';
sql-- news_table info
CREATE TABLE `news_table` (
    `id`                 int(10),
    `cat_id`,            int(10),
    `title`              text,
    `content`            longtext,
    `pubdate`            int(10),
);
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

répondre à tous(6)
小葫芦

Veuillez jeter un œil au zset de redis, scop peut répondre à vos besoins, mais le type de requête que vous avez mentionné avec un identifiant supérieur à 100% est préférable pour changer l'idée dans redis, ce n'est pas son point fort

伊谢尔伦

Je pense que la base de données Key-Value n'est pas adaptée aux applications filtrant par conditions.

Si 512 cette condition est corrigée, vous pouvez ajouter des éléments supérieurs à 512 à un ensemble lors de l'ajout d'un article.
yesterday peut être implémenté en utilisant EXPIRE.

Si les conditions de filtrage ne peuvent pas être déterminées lors de la conception, la table de hachage/liste chaînée doit être parcourue, ce qui ne sera pas très efficace...

大家讲道理

Quel est le nombre 512 ? S'il s'agit d'un nombre ayant une signification particulière et qui doit souvent être vérifié de cette manière, il est recommandé de stocker l'ensemble des id>512 dans une carte distincte dans Redis, telle que map_512, et de simplement supprimer la carte entière à chaque fois. . Sinon, vous ne pouvez retirer la carte qu'à chaque fois et la filtrer localement. Si ce type de requêtes est très fréquent et que les conditions de filtrage sont différentes, il est recommandé de toutes les récupérer d'un coup puis de les filtrer de manière uniforme.

Ty80

Merci à tous pour vos réponses ! :)

Si Redis ne convient pas à de tels besoins, veuillez recommander un nosql approprié tel que mongodb ?

左手右手慢动作

Si les données changent fréquemment, comme l'ajout, la modification ou la suppression de clés, vous pouvez utiliser mongodb, ce qui est simple et agréable~

小葫芦

Créez un autre index ou passez à mongodb

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!