您好,登錄后才能下訂單哦!
本篇內容主要講解“redis常用的數據結構及使用場景”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“redis常用的數據結構及使用場景”吧!
官網命令大全網址:http://www.redis.cn/commands.html
1、命令不區分大小寫,而key是區分大小寫
2、幫助命令: help @類型名詞,如:help @list
清空所有key(慎用)
flush all
① 常用:
set key value get key
② 同時設置/獲取多個鍵值
MSET key value [key value ....] MGET key [key ....]
注:m:more
③ 遞增/遞減指定步長
遞增1/遞減1:
INCR key DECR key
遞增/遞減指定步長:
INCRBY key increment DECRBY key decrement
④ 獲取字符串長度
STRLEN key
⑤ 分布式鎖
setnx key value---不存在才創建 set key value [Ex seconds][PX milliseconds][NX|XX]---以保留指定時間單位進行創建
⑥ 使用場景
商品編號、訂單號采用INCR命令生成
是否喜歡的文章
類似java中數據類型:Map<String,Map<Object,object>>
① 一次設置一個字段值/一次獲取一個字段值
HSET key field value HGET key field
② 一次設置多個字段值/一次獲取多個字段值
HMSET key field value [field value ...] HMGET key field [field ....]
③ 獲取所有字段值
hgetall key
④ 獲取某個key內的全部數量
hlen key
⑤ 刪除一個key
hdel key field
⑥ 應用場景 購物車早期,當前小中廠可用
hmset cart:001 product001 1 product003 5 sumprice 500.0RMB hgetall cart:001
臨時決定增加3份商品product001的數量:
hincrby cart:001 product001 3
list數據結構是一個雙端鏈表
① 向列表左邊添加元素
LPUSH key value [value ...]
② 向列表右邊添加元素
RPUSH key value [value ....]
③ 查看列表
LRANGE key start stop
④ 獲取列表中元素的個數
LLEN key
⑤ 應用場景
微信文章訂閱公眾號
注:集合中元素不重復
① 添加元素
SADD key member[member ...]
② 刪除元素
SREM key member [member ...]
③ 獲取集合中的所有元素
SMEMBERS key
④ 判斷元素是否在集合中
SISMEMBER key member
⑤ 獲取集合中的元素個數
SCARD key
⑥ 從集合中隨機彈出一個元素,元素不刪除
SRANDMEMBER key [數字]
⑦ 從集合中隨機彈出一個元素,出一個刪一個
SPOP key[數字]
⑧ 集合的差集運算A-B:屬于A但不屬于B的元素構成的集合
SDIFF key [key ...]
⑨ 集合的交集運算A∩B:屬于A同時也屬于B的共同擁有的元素構成的集合
SINTER key [key ...]
⑩ 集合的并集運算AUB:屬于A或者屬于B的元素合并后的集合
SUNION key [key ...]
應用場景:
① 微信抽獎小程序
1 用戶ID,立即參與按鈕sadd key 用戶ID2 顯示已經有多少人參與了,上圖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 -------某用戶取消點贊,從集合中移除
③ 微博好友關注社交關系
共同關注的人
sadd user:001 user004 user005 user003 sadd user:003 user005 user009 user002 --共同關注的人 sinter user:001 user003 --我關注的人也關注了他 smembers user001 smembers user003
④ QQ內推可能認識的人
取差集
sdiff user:001 user:003
向有序集合中加入一個元素和該元素的分數
① 添加元素
ZADD key score member [score member ...]
② 按照元素分數從小到大的順序 返回索引從start到stop之間的所有元素
ZRANGE key start stop [WITHSCORES]
③ 獲取元素的分數
ZSCORE key member
④ 刪除元素
ZREM key member [member ...]
⑤ 獲取指定分數范圍的元素
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
⑥增加某個元素的分數
ZINCRBY key increment member
⑦ 獲取集合中元素的數量
ZCARD key
⑧ 獲得指定分數范圍內的元素個數
ZCOUNT key min max
⑨ 按照排名范圍刪除元素
ZREMRANGEBYRANK key start stop
⑩ 獲取元素的排名
1、從小到大
ZRANK key member
2、從大到小
ZREVRANK key member
應用場景:
1、根據商品銷售對商品進行排序顯示
思路:定義商品銷售排行榜(sorted set集合),key為goods:sellsort,分數為商品銷售數量。 商品編號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常用的數據結構及使用場景”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。