开发者社区> 问答> 正文

请问redis 怎么实现数据筛选 ?

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

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

展开
收起
爵霸 2016-03-09 11:35:15 6469 0
1 条回答
写回答
取消 提交回答
  • 我觉得Key-Value数据库不太适合按条件筛选的应用吧。

    如果512这个条件是固定的,可以在添加文章的时候把大于512的元素加到一个集合里。
    yesterday可以用EXPIRE实现。

    如果筛选条件在设计时无法确定的话,就要遍历Hash表/链表了,效率不会太高…

    2019-07-17 18:55:41
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Redis集群演化的心路历程——从2.x到3.0时代 立即下载
微博的Redis定制之路 立即下载
云数据库Redis版的开源之路 立即下载