Rumah > pangkalan data > Redis > Di manakah Redis boleh digunakan? 16 senario penggunaan biasa dikongsi

Di manakah Redis boleh digunakan? 16 senario penggunaan biasa dikongsi

青灯夜游
Lepaskan: 2021-09-23 09:50:23
ke hadapan
3405 orang telah melayarinya

Di manakah Redis boleh digunakan? Artikel ini akan berkongsi dengan anda 16 senario penggunaan biasa Redis sekali gus saya harap ia akan membantu semua orang!

Di manakah Redis boleh digunakan? 16 senario penggunaan biasa dikongsi

[Cadangan berkaitan: Tutorial video Redis]

1 Cache

Jenis rentetan

Contohnya: caching data panas (seperti laporan, penipuan selebriti), caching objek, caching halaman penuh, yang boleh meningkatkan data capaian data panas.

Di manakah Redis boleh digunakan? 16 senario penggunaan biasa dikongsi

2 Perkongsian data teragih

Jenis rentetan, kerana Redis ialah perkhidmatan bebas teragih yang boleh dikongsi antara berbilang aplikasi

Untuk. contoh: Sesi Teragih

<dependency> 
 <groupId>org.springframework.session</groupId> 
 <artifactId>spring-session-data-redis</artifactId> 
</dependency>
Salin selepas log masuk

3 Kunci Teragih

Kaedah setnx jenis rentetan, ia boleh ditambah dengan jayanya hanya jika ia tidak wujud dan mengembalikan benar

public static boolean getLock(String key) {
    Long flag = jedis.setnx(key, "1");
    if (flag == 1) {
        jedis.expire(key, 10);
    }
    return flag == 1;
}

public static void releaseLock(String key) {
    jedis.del(key);
}
Salin selepas log masuk
<. 🎜>4. ID Global

jenis int, incrby, menggunakan atomicity

incrby userid 1000

Dalam senario sub-pangkalan data dan sub-jadual, dapatkan bahagian di sekali

5. Kaunter

jenis int, kaedah incr

Contohnya: bilangan artikel yang dibaca, bilangan suka Weibo, benarkan kelewatan tertentu, tulis dahulu ke Redis dan kemudian menyegerakkan ke pangkalan data dengan kerap

6 Had semasa

jenis intr, kaedah incr

menggunakan IP pelawat dan maklumat lain sebagai kunci setiap lawatan kiraan. Jika nombor melebihi nombor, palsu dikembalikan

7 statistik bit

Bitcount jenis rentetan (pengenalan struktur data bitmap dalam 1.6.6)

Karakter ialah. disimpan dalam binari 8-bit

set k1 a
setbit k1 6 1
setbit k1 7 0
get k1 
/* 6 7 代表的a的二进制位的修改
a 对应的ASCII码是97,转换为二进制数据是01100001
b 对应的ASCII码是98,转换为二进制数据是01100010

因为bit非常节省空间(1 MB=8388608 bit),可以用来做大数据量的统计。
*/
Salin selepas log masuk
Contohnya: statistik pengguna dalam talian, statistik pengguna yang dikekalkan

setbit onlineusers 01 
setbit onlineusers 11 
setbit onlineusers 20
Salin selepas log masuk
Sokong operasi bitwise DAN, bitwise ATAU, dsb.

BITOPANDdestkeykey[key...] ,对一个或多个 key 求逻辑并,并将结果保存到 destkey 。       
BITOPORdestkeykey[key...] ,对一个或多个 key 求逻辑或,并将结果保存到 destkey 。 
BITOPXORdestkeykey[key...] ,对一个或多个 key 求逻辑异或,并将结果保存到 destkey 。 
BITOPNOTdestkeykey ,对给定 key 求逻辑非,并将结果保存到 destkey 。
Salin selepas log masuk
Kira pengguna yang telah berada dalam talian selama 7 hari

BITOP "AND" "7_days_both_online_users" "day_1_online_users" "day_2_online_users" ...  "day_7_online_users"
Salin selepas log masuk
8. Semua pencincangan yang boleh dilakukan dengan String boleh dilakukan

Di manakah Redis boleh digunakan? 16 senario penggunaan biasa dikongsikunci: id pengguna: id produk;

    1: hincr. -1: hdecr. Padam:hdel. Pilih semua: hgetall. Bilangan item: hlen.
  • 9. Garis masa garis masa mesej pengguna
senarai, senarai berganda, boleh digunakan terus sebagai garis masa. Sisipan mengikut urutan

10 baris gilir Mesej

Senarai menyediakan dua operasi pop timbul menyekat: blpop/brpop, dan tamat masa boleh ditetapkan

blpop: blpop tamat masa key1 mengalih keluar dan mendapatkan elemen pertama senarai Jika senarai itu tidak mempunyai unsur, ia akan menyekat senarai sehingga masa menunggu atau elemen pop timbul ditemui.

    brpop: tamat masa brpop key1 mengalih keluar dan mendapatkan elemen terakhir senarai Jika tiada unsur dalam senarai, senarai akan disekat sehingga tamat masa menunggu atau elemen yang boleh dipopulerkan ditemui.
  • Operasi di atas. Malah, ia adalah baris gilir menyekat Java. Lebih banyak perkara yang anda pelajari. Semakin rendah kos pembelajaran

Barisan: masuk dahulu, keluar dahulu: rpush blpop, kepala kiri dan ekor kanan, kanan masuk baris, kiri keluar barisan

    Timbunan: pertama masuk, lepas keluar: rpush brpop
  • 11 Cabutan
Didatangkan dengan nilai rawak

12 🎜>

spop myset
Salin selepas log masuk

Andaikan ID Weibo di atas ialah t1001 dan ID pengguna ialah u3001

Di manakah Redis boleh digunakan? 16 senario penggunaan biasa dikongsiGunakan like:t1001 untuk mengekalkan semua pengguna yang menyukai t1001 di Weibo ini

Suka Menyukai Weibo ini: sedih suka:t1001 u3001

Tidak suka: srem suka:t1001 u3001
  • Suka: sismember suka:t1001 u3001><🎜1 Semuanya<🎜 pengguna: smembers like:t1001
  • Bilangan suka: scard like:t1001
  • Bukankah ia lebih mudah daripada pangkalan data?
  • 13. Tag produk

Peraturan lama, gunakan tag:i5001 untuk mengekalkan semua tag produk.

tag sedih:i5001 Gambarnya jelas dan halusDi manakah Redis boleh digunakan? 16 senario penggunaan biasa dikongsi

tag sedih:i5001 Warna sebenar dan paparan jelas

tag sedih:i5001 Prosesnya hebat
  • 14 Pilihan produk

Andaikan: iPhone11 berada di pasaran

// 获取差集
sdiff set1 set2
// 获取交集(intersection )
sinter set1 set2
// 获取并集
sunion set1 set2
Salin selepas log masuk

Produk terpilih, Apple, ios, skrin dalam Antara 6.0 dan 6.24, bahan skrin ialah skrin LCD Di manakah Redis boleh digunakan? 16 senario penggunaan biasa dikongsi

15 Perhatian pengguna, model yang disyorkan

sadd brand:apple iPhone11

sadd brand:ios iPhone11

sad screensize:6.0-6.24 iPhone11

sad screentype:lcd iPhone 11
Salin selepas log masuk
ikut peminat peminat

ikut satu sama lain. :
sinter brand:apple brand:ios screensize:6.0-6.24 screentype:lcd
Salin selepas log masuk

sedih 1:ikut 2

sedih 2:peminat 1

sedih 1:peminat 2
  • sedih 2:ikut 1
  • Orang yang saya ikuti juga ikut dia (ambil simpang):
  • sinter 1:follow 2:fans

Orang yang mungkin anda kenali:

  • 用户1可能认识的人(差集):sdiff 2:follow 1:follow
  • 用户2可能认识的人:sdiff 1:follow 2:follow

16、排行榜

id 为6001 的新闻点击数加1:

zincrby hotNews:20190926 1 n6001
Salin selepas log masuk

获取今天点击最多的15条:

zrevrange hotNews:20190926 0 15 withscores
Salin selepas log masuk

Di manakah Redis boleh digunakan? 16 senario penggunaan biasa dikongsi

Redis 用的好,加薪少不了

原文地址:https://juejin.cn/post/6994229128534687781

作者:码猿技术专栏

更多编程相关知识,请访问:编程视频!!

Atas ialah kandungan terperinci Di manakah Redis boleh digunakan? 16 senario penggunaan biasa dikongsi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:掘金--码猿技术专栏
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan