. [ˈmɛmbɚ]

n.Molekul anggota;

redis arahan SRANDMEMBER sintaks

Fungsi: Jika hanya parameter kunci disediakan apabila arahan dilaksanakan, maka elemen rawak dalam koleksi akan dikembalikan.

Sintaks: SRANDMEMBER kunci [count]

Arahan: Bermula dari versi Redis 2.6, arahan SRANDMEMBER menerima parameter kiraan pilihan: Jika kiraan ialah nombor positif dan kurang daripada asas yang ditetapkan, maka arahan itu mengembalikan a nilai yang mengandungi kiraan Tatasusunan elemen, di mana unsur-unsur dalam tatasusunan adalah berbeza. Jika kiraan lebih besar daripada atau sama dengan kardinaliti koleksi, maka keseluruhan koleksi dikembalikan. Jika kiraan adalah negatif, arahan itu mengembalikan tatasusunan, unsur-unsurnya mungkin muncul beberapa kali, dan panjang tatasusunan ialah nilai mutlak kiraan . Operasi ini serupa dengan SPOP, tetapi SPOP mengalih keluar elemen rawak daripada koleksi dan mengembalikannya, manakala SRANDMEMBER hanya mengembalikan elemen rawak tanpa membuat sebarang perubahan pada koleksi.

Versi yang tersedia: >= 1.0.0

Kerumitan masa: O(1) apabila hanya parameter utama disediakan. Jika parameter kiraan disediakan, ia adalah O(N), di mana N ialah bilangan elemen dalam tatasusunan yang dikembalikan.

Pemulangan: Apabila hanya parameter kunci disediakan, elemen dikembalikan; jika koleksi kosong, tiada dikembalikan. Jika parameter kiraan disediakan, tatasusunan dikembalikan jika koleksi kosong, tatasusunan kosong dikembalikan.

redis arahan SRANDMEMBER contoh

# 添加元素
redis> SADD fruit apple banana cherry
(integer) 3
# 只给定 key 参数,返回一个随机元素
redis> SRANDMEMBER fruit
"cherry"
redis> SRANDMEMBER fruit
"apple"
# 给定 3 为 count 参数,返回 3 个随机元素
# 每个随机元素都不相同
redis> SRANDMEMBER fruit 3
1) "apple"
2) "banana"
3) "cherry"
# 给定 -3 为 count 参数,返回 3 个随机元素
# 元素可能会重复出现多次
redis> SRANDMEMBER fruit -3
1) "banana"
2) "cherry"
3) "apple"
redis> SRANDMEMBER fruit -3
1) "apple"
2) "apple"
3) "cherry"
# 如果 count 是整数,且大于等于集合基数,那么返回整个集合
redis> SRANDMEMBER fruit 10
1) "apple"
2) "banana"
3) "cherry"
# 如果 count 是负数,且 count 的绝对值大于集合的基数
# 那么返回的数组的长度为 count 的绝对值
redis> SRANDMEMBER fruit -10
1) "banana"
2) "apple"
3) "banana"
4) "cherry"
5) "apple"
6) "apple"
7) "cherry"
8) "apple"
9) "apple"
10) "banana"
# SRANDMEMBER 并不会修改集合内容
redis> SMEMBERS fruit
1) "apple"
2) "cherry"
3) "banana"
# 集合为空时返回 nil 或者空数组
redis> SRANDMEMBER not-exists
(nil)
redis> SRANDMEMBER not-eixsts 10
(empty list or set)