成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

本篇內(nèi)容主要講解“redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景”吧!

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了西城免費建站歡迎大家使用!

官網(wǎng)命令大全網(wǎng)址:http://www.redis.cn/commands.html

1、命令不區(qū)分大小寫,而key是區(qū)分大小寫

2、幫助命令: help @類型名詞,如:help @list

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

一、九大數(shù)據(jù)結(jié)構(gòu)

清空所有key(慎用)

flush all

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

1、String(字符類型)

① 常用:

set key value
get key

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

② 同時設(shè)置/獲取多個鍵值

MSET key value [key value ....]
MGET key [key ....]

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

注:m:more

③ 遞增/遞減指定步長

遞增1/遞減1:

INCR key
DECR key

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

遞增/遞減指定步長:

INCRBY key increment
DECRBY key decrement

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

④ 獲取字符串長度

STRLEN key

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

⑤ 分布式鎖

setnx key value---不存在才創(chuàng)建
set key value [Ex seconds][PX milliseconds][NX|XX]---以保留指定時間單位進行創(chuàng)建

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

⑥ 使用場景

商品編號、訂單號采用INCR命令生成

是否喜歡的文章

2、Hash(散列類型)

類似java中數(shù)據(jù)類型:Map<String,Map<Object,object>>

① 一次設(shè)置一個字段值/一次獲取一個字段值

HSET key field value
HGET key field

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

② 一次設(shè)置多個字段值/一次獲取多個字段值

HMSET key field value [field value ...]
HMGET key field [field ....]

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

③ 獲取所有字段值

hgetall key

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

④ 獲取某個key內(nèi)的全部數(shù)量

hlen key

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

⑤ 刪除一個key

hdel key field

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

⑥ 應(yīng)用場景 購物車早期,當(dāng)前小中廠可用

hmset cart:001 product001 1 product003 5 sumprice 500.0RMB
hgetall cart:001

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

臨時決定增加3份商品product001的數(shù)量:

hincrby cart:001 product001 3

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

3、List(列表類型)

list數(shù)據(jù)結(jié)構(gòu)是一個雙端鏈表

① 向列表左邊添加元素

LPUSH key value [value ...]

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

② 向列表右邊添加元素

RPUSH key value [value ....]

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

③ 查看列表

LRANGE key start stop

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

④ 獲取列表中元素的個數(shù)

LLEN key

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

⑤ 應(yīng)用場景

微信文章訂閱公眾號

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

4、Set(集合類型)

注:集合中元素不重復(fù)

① 添加元素

SADD key member[member ...]

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

② 刪除元素

SREM key member [member ...]

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

③ 獲取集合中的所有元素

SMEMBERS key

④ 判斷元素是否在集合中

SISMEMBER key member

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

⑤ 獲取集合中的元素個數(shù)

SCARD key

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

⑥ 從集合中隨機彈出一個元素,元素不刪除

SRANDMEMBER key [數(shù)字]

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

⑦ 從集合中隨機彈出一個元素,出一個刪一個

SPOP key[數(shù)字]

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

⑧ 集合的差集運算A-B:屬于A但不屬于B的元素構(gòu)成的集合

SDIFF key [key ...]

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

⑨ 集合的交集運算A∩B:屬于A同時也屬于B的共同擁有的元素構(gòu)成的集合

SINTER key [key ...]

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

⑩ 集合的并集運算AUB:屬于A或者屬于B的元素合并后的集合

SUNION key [key ...]

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

應(yīng)用場景:

① 微信抽獎小程序

1 用戶ID,立即參與按鈕sadd key 用戶ID2 顯示已經(jīng)有多少人參與了,上圖23208人參加SCARD key3 抽獎(從set中任意選取N個中獎人)
sadd key user001 user002 ...
SCARD key 多少人參與
SRANDMEMBER key 2 隨機抽獎2個人,元素不刪除
SPOP key 3 隨機抽獎3個人,元素會刪除

② 微信朋友圈點贊

sadd page:005 user001 user005 ...-------添加進點贊某文章集合
srem page:005 user005 -------某用戶取消點贊,從集合中移除

③ 微博好友關(guān)注社交關(guān)系

 共同關(guān)注的人

sadd user:001 user004 user005 user003
sadd user:003 user005 user009 user002

--共同關(guān)注的人
sinter user:001 user003

--我關(guān)注的人也關(guān)注了他
smembers user001
smembers user003

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

④ QQ內(nèi)推可能認識的人

取差集

sdiff user:001 user:003

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

5、SortedSet(有序集合類型,簡稱zset)

向有序集合中加入一個元素和該元素的分數(shù)

① 添加元素

ZADD key score member [score member ...]

② 按照元素分數(shù)從小到大的順序 返回索引從start到stop之間的所有元素

ZRANGE key start stop [WITHSCORES]

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

③ 獲取元素的分數(shù)

 ZSCORE key member

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

④ 刪除元素

ZREM key member [member ...]

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

⑤ 獲取指定分數(shù)范圍的元素

ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

⑥增加某個元素的分數(shù)

ZINCRBY key increment member

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

⑦ 獲取集合中元素的數(shù)量

ZCARD key

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

⑧ 獲得指定分數(shù)范圍內(nèi)的元素個數(shù)

ZCOUNT key min max

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

⑨ 按照排名范圍刪除元素

ZREMRANGEBYRANK key start stop

⑩ 獲取元素的排名

1、從小到大

ZRANK key member

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

2、從大到小

ZREVRANK key member

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

應(yīng)用場景:

1、根據(jù)商品銷售對商品進行排序顯示

思路:定義商品銷售排行榜(sorted set集合),key為goods:sellsort,分數(shù)為商品銷售數(shù)量。

商品編號1001的銷量是9,商品編號1002的銷量是15
zadd goods:sellsort 9 1001 15 1002
有一個客戶又買了2件商品1001,商品編號1001銷量加2
zincrby goods:sellsort 2 1001
求商品銷量前10名ZRANGE goods:sellsort 0 9 withscores

redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景

到此,相信大家對“redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

文章名稱:redis常用的數(shù)據(jù)結(jié)構(gòu)及使用場景
本文地址:http://jinyejixie.com/article4/jjgooe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、商城網(wǎng)站電子商務(wù)、動態(tài)網(wǎng)站、軟件開發(fā)外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
古蔺县| 荥阳市| 赤峰市| 定襄县| 拉萨市| 万全县| 石首市| 和政县| 赣州市| 西华县| 文登市| 明溪县| 安图县| 白山市| 斗六市| 楚雄市| 邓州市| 武宁县| 三河市| 夏河县| 肇州县| 成安县| 申扎县| 浙江省| 布尔津县| 肇庆市| 图们市| 大荔县| 高淳县| 广南县| 靖远县| 巢湖市| 淮北市| 台江县| 大兴区| 苏尼特左旗| 永登县| 苍溪县| 绥江县| 枣阳市| 衡阳县|