這篇文章給大家分享的是有關(guān)php如何實(shí)現(xiàn)redis的Zset操作的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)海珠,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792
Zset操作
//將一個(gè)或多個(gè)成員元素及其分?jǐn)?shù)值加入到有序集當(dāng)中。如果某個(gè)成員已經(jīng)是有序集的成員,則更新這個(gè)成員的分?jǐn)?shù)值,并通過(guò)重新插入這個(gè)成員元素,來(lái)保證該成員在正確的位置上。分?jǐn)?shù)值可以是整數(shù)值或雙精度浮點(diǎn)數(shù)。 $ret = $redis->zAdd('scores', 98, 'English', 90, 'physics'); //返回有序集中指定區(qū)間內(nèi)的成員。成員按分?jǐn)?shù)值遞增排序,分?jǐn)?shù)值相同的則按字典序來(lái)排序。 //參數(shù):第四個(gè)參數(shù)表示是否返回各個(gè)元素的分?jǐn)?shù)值,默認(rèn)為false。 $ret = $redis->zRange('scores', 0, -1, true);//查看Zset所有成員以及它們各自的分?jǐn)?shù)值 //返回有序集中指定區(qū)間內(nèi)的成員。成員按分?jǐn)?shù)值遞減排序,分?jǐn)?shù)值相同的則按字典序的逆序來(lái)排序。 $ret = $redis->zReverseRange('scores', 0, -1, true); //返回有序集中指定分?jǐn)?shù)區(qū)間的成員列表,按分?jǐn)?shù)值遞增排序,分?jǐn)?shù)值相同的則按字典序來(lái)排序。默認(rèn)使用閉區(qū)間。 $ret = $redis->zRangeByScore('scores', 90, 100, ['withscores'=>true]); //返回有序集中指定分?jǐn)?shù)區(qū)間的成員列表,按分?jǐn)?shù)值遞減排序,分?jǐn)?shù)值相同的則按字典序的逆序來(lái)排序。注意,區(qū)間表示的時(shí)候大值在前,小值在后,默認(rèn)使用閉區(qū)間。 $ret = $redis->zRevRangeByScore('scores', 100, 90, ['withscores'=>true]); //迭代有序集合中的元素。 //返回值:[元素名=>分?jǐn)?shù)值,,..] $ret = $redis->zscan('scores', $it, '', 10); //返回指定有序集的元素?cái)?shù)量。 $ret = $redis->zCard('scores'); //返回有序集中指定分?jǐn)?shù)區(qū)間的成員數(shù)量。 $ret = $redis->zCount('scores', 90, 100); //返回有序集中指定成員的分?jǐn)?shù)值。若成員不存在則返回false。 $ret = $redis->zScore('scores', 'math'); //返回有序集中指定成員的排名,按分?jǐn)?shù)值遞增排序。分?jǐn)?shù)值最小者排名為0。 $ret = $redis->zRank('scores', 'chemistry'); //返回有序集中指定成員的排名,按分?jǐn)?shù)值遞減排序。分?jǐn)?shù)值最大者排名為0。 $ret = $redis->zRevRank('scores', 'chemistry'); //移除有序集中的一個(gè)或多個(gè)成員,忽略不存在的成員。返回刪除的元素個(gè)數(shù)。 $ret = $redis->zRem('scores', 'chemistry', 'English'); //移除有序集中指定排名區(qū)間的所有成員。 $ret = $redis->zRemRangeByRank('scores', 0, 2); //移除有序集中指定分?jǐn)?shù)值區(qū)間的所有成員。 $ret = $redis->zRemRangeByScore('scores', 80, 90); //對(duì)有序集中指定成員的分?jǐn)?shù)值增加指定增量值。若為負(fù)數(shù)則做減法,若有序集不存在則先創(chuàng)建,若有序集中沒(méi)有對(duì)應(yīng)成員則先添加,最后再操作。 $ret = $redis->zIncrBy('scores', 2, 'Chinese'); //計(jì)算給定一個(gè)或多個(gè)有序集的交集,并將其存儲(chǔ)到一個(gè)目的有序集中。結(jié)果集中某個(gè)成員的分?jǐn)?shù)值是所有給定集下該成員分?jǐn)?shù)值之和。 $ret = $redis->zinterstore('zset3', 'zset2', 'zset1'); //計(jì)算給定一個(gè)或多個(gè)有序集的并集,并將其存儲(chǔ)到一個(gè)目的有序集中。結(jié)果集中某個(gè)成員的分?jǐn)?shù)值是所有給定集下該成員分?jǐn)?shù)值之和。 $ret = $redis->zunionstore('zset3', 'zset2', 'zset1');
感謝各位的閱讀!關(guān)于“php如何實(shí)現(xiàn)Redis的Zset操作”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!