四:redis的sets类型相关操作(有序和无序集合)
================四五种(有序和无序集合):sets类型(就是集合)============= 一介绍: set表示集合,添加是是随意添加的-----无序集合 set是集合,它是string类型的无序集合。 set是通过hash table实现的,添加,删除和查找的复杂度都是0(1)。 对集合我们
================四五种(有序和无序集合):sets类型(就是集合)=============一介绍: set表示集合,添加是是随意添加的----->无序集合
set是集合,它是string类型的无序集合。
set是通过hash table实现的,添加,删除和查找的复杂度都是0(1)。
对集合我们可以取并集、交集、差集。
通过这写操作我们可以实现sns中的好友推荐和blog的tag功能
1:sadd
向名称key的set中添加元素(唯一的)
例:sadd myset1 one ---->向集合myset1中添加元素one
sadd myset1 two
查看:smembers myset1
2:srem
删除名称为key的set中的元素
例:sadd myset2 one
srem myset2 one --->删除one元素
3:spop
随机返回并删除名称为key的set中一的个元素
例:spop myset3 --->随机弹出删除的元素
4:sdiff
返回所有给定key与第一个key的差集
myset1=1,2 myset2=3,2 --返回1
例:sdiff myset1 myset2 ---->谁在前面以谁为标准
4:sdiffstore
返回所有给定key与第一个key的差集,并将结果保存在一个新的key中
例:sdiffstore myset4 myset2 myset3 ---->将myset2与myset3的差集弹出并保存到myset4中
5:sinter
返回所有给定key的交集(交集:里面相同的元素)
two,one three,one --->one
例:sinter myset2 myset3 --->之间的交集
6: sinterstore
返回所有给定key与第一个key的交集,并将结果保存在一个新的key中
例:sinterstore myset4 myset2 myset3 ---->将myset2与myset3的交集保存到myset4中
7:sunion
返回所有给定key的并集
例:sunion myset1 myset2 --->取并集
8:sunionstore
返回所有给定key的并集,并保存到新的key中
例:sunionstore myset4 myset1 myset2 --->取并集并 保存到myset4中
9:smove
从第一个key中对应的set中移除某个元素并添加到第二个对应的key中
例:smove myset2 myset7 three --->将myset2中的元素移动到myset7里面
10:scard
返回名称为key的set的元素个数
例:scard myset8 ---->返回元素个数
11:sismember
测试某个元素是否是名称为KEY的set中的元素
例:sismember myset2 two --->测试two是否是myset2中的元素
12:srandmember(无序的取)
随机返回名称为key的set的一个元素,但不删除元素
例:srandmember myset3 --->随机去除myset3的元素
13:
二介绍: sorted sets=========》有序集合
sortes set是set的一个升级版本,它在set的基础上增加了一个顺序属性,
这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。
可以理解为有两列的MySQL表,一列存value,一列存顺序。操作中key理解为zset(有序集合的名称)的名字
1: zadd ---重复插入时候会不成功,且将顺序更新
向名称为key的zset中添加元素member,score用于排序,如果该元素存在,则更新其顺序
例:zadd myzset1 1 one ---> 插入了one并指定顺序号
zrange
取值:zrange myzset1 0 -1 -----> 取myzset1的所有元素
zrange myzset1 0 -1 withscores ---->取出元素并吧顺序号输出
2:zrem 删除有序集合中的一个元素
删除名称为key的zset中的元素member
例子:zrem zset1 two --->删除two元素
3:zincrby
如果在名称为key的zset中已经存在元素member,则改元素的score
增加increment(顺序号)否则向该集合中添加元素,其score的值为increment
例:zincrby ssett1 2 one ---->对顺序号减
zincrby ssett1 -2 one ---->对顺序号加
4:zrank
返回名称为key的zset中member元素的排名(按score从小到大排序)即下标
例:zrange zset2 0 -1 withscores
zrank zset2 four ---->返回一个元素的索引值
5:zrevrank
返回名称为key的zset中member元素的排名(按score从大到小排序)即下标
例:zrevrank zset2 four ---->和zrank顺序相反
6: zrevrange
值按降序排序(score从大到小排序)
例:zrevrange zset2 0 -1 withscoress
7:zrangebyscore
返回集合中score在给定区域的元素
例:zrangebyscore zset2 2 4 withscores --->取下标2,3,4,且有序返回
8:zcount
返回集合中score在给定区域的数量
例:zrangebyscore zset2 2 4 ----->2,3,4 ,就会返回3表示有3个元素
9:zcrad
返回集合元素中的个数
zcrad zset2 ---->zset2里面所有元素的个数
10:zremrangebyrank
删除集合中排名在给定区间的元素(按照索引删除)
例:zremrangebyrank zset2 1 1 ---->删除索引为 1到1的(1),2,3(删除2和3)
11:zremrangebyscore
删除集合中score给定区间的元素(按照顺序号删除)
例:zremrangebyscore zset2 2 5 --->删除顺序号为2到5
========================================END========================================

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Mod Redis cluster menyebarkan contoh Redis ke pelbagai pelayan melalui sharding, meningkatkan skalabilitas dan ketersediaan. Langkah -langkah pembinaan adalah seperti berikut: Buat contoh Redis ganjil dengan pelabuhan yang berbeza; Buat 3 contoh sentinel, memantau contoh redis dan failover; Konfigurasi fail konfigurasi sentinel, tambahkan pemantauan maklumat contoh dan tetapan failover; Konfigurasi fail konfigurasi contoh Redis, aktifkan mod kluster dan tentukan laluan fail maklumat kluster; Buat fail nodes.conf, yang mengandungi maklumat setiap contoh Redis; Mulakan kluster, laksanakan perintah Buat untuk membuat kluster dan tentukan bilangan replika; Log masuk ke kluster untuk melaksanakan perintah maklumat kluster untuk mengesahkan status kluster; buat

Cara Mengosongkan Data Redis: Gunakan perintah Flushall untuk membersihkan semua nilai utama. Gunakan perintah flushdb untuk membersihkan nilai utama pangkalan data yang dipilih sekarang. Gunakan Pilih untuk menukar pangkalan data, dan kemudian gunakan FlushDB untuk membersihkan pelbagai pangkalan data. Gunakan perintah DEL untuk memadam kunci tertentu. Gunakan alat REDIS-CLI untuk membersihkan data.

Untuk membaca giliran dari Redis, anda perlu mendapatkan nama giliran, membaca unsur -unsur menggunakan arahan LPOP, dan memproses barisan kosong. Langkah-langkah khusus adalah seperti berikut: Dapatkan nama giliran: Namakannya dengan awalan "giliran:" seperti "giliran: my-queue". Gunakan arahan LPOP: Keluarkan elemen dari kepala barisan dan kembalikan nilainya, seperti LPOP Queue: My-Queue. Memproses Baris kosong: Jika barisan kosong, LPOP mengembalikan nihil, dan anda boleh menyemak sama ada barisan wujud sebelum membaca elemen.

Pada sistem CentOS, anda boleh mengehadkan masa pelaksanaan skrip LUA dengan mengubah fail konfigurasi REDIS atau menggunakan arahan REDIS untuk mengelakkan skrip jahat daripada memakan terlalu banyak sumber. Kaedah 1: Ubah suai fail konfigurasi Redis dan cari fail konfigurasi Redis: Fail konfigurasi Redis biasanya terletak di /etc/redis/redis.conf. Edit Fail Konfigurasi: Buka fail konfigurasi menggunakan editor teks (seperti Vi atau nano): sudovi/etc/redis/redis.conf Tetapkan had masa pelaksanaan skrip lua: Tambah atau ubah suai baris berikut dalam fail konfigurasi untuk menetapkan masa pelaksanaan maksimum skrip lua (unit: milidor)

Gunakan alat baris perintah redis (redis-cli) untuk mengurus dan mengendalikan redis melalui langkah-langkah berikut: Sambungkan ke pelayan, tentukan alamat dan port. Hantar arahan ke pelayan menggunakan nama arahan dan parameter. Gunakan arahan bantuan untuk melihat maklumat bantuan untuk arahan tertentu. Gunakan perintah berhenti untuk keluar dari alat baris arahan.

Kaunter Redis adalah satu mekanisme yang menggunakan penyimpanan pasangan nilai utama REDIS untuk melaksanakan operasi pengiraan, termasuk langkah-langkah berikut: mewujudkan kekunci kaunter, meningkatkan tuduhan, mengurangkan tuduhan, menetapkan semula, dan mendapatkan tuduhan. Kelebihan kaunter Redis termasuk kelajuan cepat, konkurensi tinggi, ketahanan dan kesederhanaan dan kemudahan penggunaan. Ia boleh digunakan dalam senario seperti pengiraan akses pengguna, penjejakan metrik masa nyata, skor permainan dan kedudukan, dan pengiraan pemprosesan pesanan.

Terdapat dua jenis strategi tamat tempoh data REDIS: Penghapusan berkala: Imbasan berkala untuk memadamkan kunci yang telah tamat tempoh, yang boleh ditetapkan melalui parameter-cap-cap-rempah yang telah tamat tempoh dan parameter kelewatan-cap-remove-time-time. Penghapusan Lazy: Periksa kekunci yang telah tamat tempoh hanya apabila kunci dibaca atau ditulis. Mereka boleh ditetapkan melalui parameter lazon-lazy-expire-expire-expire, lazy-lazy-user-del parameter.

Dalam sistem Debian, panggilan sistem Readdir digunakan untuk membaca kandungan direktori. Jika prestasinya tidak baik, cuba strategi pengoptimuman berikut: Memudahkan bilangan fail direktori: Split direktori besar ke dalam pelbagai direktori kecil sebanyak mungkin, mengurangkan bilangan item yang diproses setiap panggilan readdir. Dayakan Caching Kandungan Direktori: Bina mekanisme cache, kemas kini cache secara teratur atau apabila kandungan direktori berubah, dan mengurangkan panggilan kerap ke Readdir. Cafh memori (seperti memcached atau redis) atau cache tempatan (seperti fail atau pangkalan data) boleh dipertimbangkan. Mengamalkan struktur data yang cekap: Sekiranya anda melaksanakan traversal direktori sendiri, pilih struktur data yang lebih cekap (seperti jadual hash dan bukannya carian linear) untuk menyimpan dan mengakses maklumat direktori
