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

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),
);
黄舟
黄舟

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

membalas semua(6)
小葫芦

Sila lihat pada zset redis, scop boleh mencapai keperluan anda, tetapi jenis pertanyaan yang anda nyatakan dengan id yang lebih besar daripada itu adalah yang terbaik untuk menukar idea dalam redis, ini bukan titik kukuhnya

伊谢尔伦

Saya rasa pangkalan data Key-Value tidak sesuai untuk aplikasi menapis mengikut syarat.

Jika 512 syarat ini ditetapkan, anda boleh menambah elemen lebih besar daripada 512 pada set apabila menambah artikel.
yesterday boleh dilaksanakan menggunakan EXPIRE.

Jika keadaan penapisan tidak dapat ditentukan semasa reka bentuk, jadual Hash/senarai terpaut mesti dilalui, yang tidak akan menjadi sangat cekap...

大家讲道理

Apakah itu 512? Jika ia adalah nombor dengan makna istimewa dan selalunya perlu disemak dengan cara ini, anda disyorkan supaya menyimpan set id>512 dalam peta berasingan dalam redis, seperti map_512 dan hanya mengeluarkan keseluruhan peta setiap kali . Jika tidak, anda hanya boleh mengeluarkan peta setiap kali dan menapisnya secara setempat. Jika pertanyaan jenis ini sangat kerap dan keadaan penapisan berbeza, adalah disyorkan untuk mendapatkannya sekali gus dan kemudian menapisnya secara seragam.

Ty80

Terima kasih semua atas balasan anda! :)

Jika redis tidak sesuai untuk keperluan tersebut, sila cadangkan nosql yang sesuai seperti mongodb?

左手右手慢动作

Jika data kerap berubah, seperti menambah, mengubah suai atau memadam kekunci, anda boleh menggunakan mongodb, yang mudah dan menyeronokkan~

小葫芦

Buat indeks lain atau tukar kepada mongodb

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan