久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Redis中的五大基礎類型是什么

162次閱讀
沒有評論

共計 3380 個字符,預計需要花費 9 分鐘才能閱讀完成。

這篇“Redis 中的五大基礎類型是什么”文章的知識點大部分人都不太理解,所以丸趣 TV 小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Redis 中的五大基礎類型是什么”文章吧。

redis 傳統 5 大數據類型的運用

redis 傳統 5 大數據類型的落地應用

Redis 介紹:

Redis 是一個開源(BSD 許可)的,內存中的數據結構存儲系統,它可以用作數據庫、緩存和消息中間件。它支持多種類型的數據結構,如 字符串(strings),散列(hashes),列表(lists),集合(sets),有序集合(sorted sets)] 與范圍查詢,bitmaps,hyperloglogs 和 地理空間(geospatial)索引半徑查詢。Redis 內置了 復制(replication),LUA 腳本(Lua scripting),LRU 驅動事件(LRU eviction),事務(transactions)和不同級別的 磁盤持久化(persistence),并通過 Redis 哨兵(Sentinel)和自動 分區(Cluster)提供高可用性(high availability)。

備注:redis 命令不區分大小寫,而 key 是區分大小寫的

查詢命令幫助:

help @類型名詞

示例:

string 字符串類型

最常用

set key vuue

getkey

同時設置 / 獲取多個鍵值

MSET key value [key value …]

MGET key [key ,,,]

數值增減

遞增數字 incr key

增加指定的整數 incrby key increment

遞減數值 decr key

減少指定的整數 decrby key decrement

獲取字符長度

STRLEN key

分布式鎖

setnx key value

set key value [EX seconds] [PX milliseconds] [NX|XX]

EX: key 在多少秒后過期

PX: key 自多少毫秒后過期

NX: 當 key 不存在的時候,才創建 key. 效果等同于 setnx

XX: 當 key 存在的時候,覆蓋 key

運用場景

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

是否喜歡文章點贊

閱讀數:只要點擊了 rest 地址,直接使用 incr key 命令增加一個數字 1,完成記錄數字。

命令實踐

hash 哈希類型

和 Java 數據結構映射

Map Stirng, Map Object, Object

一次設置一個字段值

HSET key field value

一次獲取一個字段值

HGET key field

一次設置多個字段值

HMSET key field value [fild value …]

一次獲取多個字段值

HMGET key field [field …]

獲取所有字段值

hgetall key

獲取某個 key 內的全部數量

hlen

刪除一個 key

hdel

命令演示

應用場景

購物車的早期,當前中小廠可以使用

新增商品 — hset shopcar:uid1024 334488 1

新增商品 — hset shopcar:uid2014 334477 1

增加商品數量 — hincrby shopcar:uid1024 334477 1

商品總數 — hlen shopcar:uid1024

全部選擇 — hgetall shopcar:uid1024

list 列表類型

向列表左邊添加元素

lpush key value [value …]

向列表右邊添加元素

rpush key value [value …]

查看列表

lrange key start stop

獲取列表中元素的個數

llen key

命令使用

應用場景

微信文章訂閱公眾號

1、【xx 寶】和【xx 報】發布了文章分別是 11 和 22

2、作者關注了他們兩個,只要他們發布了新的文章,就會推送到我的 list

lpush likearticle: uid1024 11 22

3、查看作者自己的訂閱號的全部文章,類似分頁,下面 0-10 就是 一次顯示 10 條 lrange likearticle:uid1024 0 10

set 不重復列表類型

添加元素

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 共同擁有的元素

simter key [key …]

集合的并集運算 A v B

屬于 A 或者屬于 B 的元素合并后的集合

sunion key [key …]

運用場景

微信抽獎小程序

1、用戶 id,立即參與,sadd key 用戶 id

2、顯示已經有多少人參與了當前有 67231 人參與,scard key

3、抽獎(從 set 中任意選取 N 個中獎人)

srandmember key 2 隨機抽獎 2 個人,元素不會刪除

spop key 3 司機抽獎 3 個人,元素會刪除

微信朋友圈點贊

Redis 中的五大基礎類型是什么

1、新增點贊 ; sadd pub:msgid 點贊用戶 id1 點贊用戶 id2

2、取消點贊;srem pub:msgid 點贊用戶 id

3、展示所有點過贊的用戶 smembers pub:msgid

4、點贊用戶數統計,就是常見的待點贊的紅色數數字 scard pub:msgid

5、判斷某個朋友是否對樓主點過贊,sismember pub:msgid 用戶 id

微博好友關注社交關系

Redis 中的五大基礎類型是什么

共同關注的人

sadd s1 1 2 3 4

sadd s2 2 3 6 8

sinter s1 s2

共同關注:我去某人的微博,馬上獲取和某人共同關注的人

我關注的人,也關注了他(大家愛好相同)

我關注了華為余承東,余承東也關注了張召動,我和余總有共同的愛好

sadd s1 1 2 3 4 5

sadd s2 3 4 5 6 7

sismember s1 3

sismember s2 3

QQ 內推可能認識的人

sadd s1 1 2 3 4 5

sadd s2 3 4 5 6 7

// 共同好友

sinter s1 s2

// 差集

sdiff s1 s2

sdiff s2 s1

zset 有序集合

常用命令

1、向有序集合中添加一個元素和該元素的分數

2、添加元素

ZADD key score member [score member …]

3、按照元素分數從小到達的順序返回索引從 strat 到 stop 之間的所有元素

zrange key start stop [WITHSORES]

4、獲取元素的分數

zscore key member [member …]

5、刪除元素

zrem key member [member …]

6、獲取指定分數范圍的元素

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

7、增加某個元素的分數

zincrby key increment member

8、獲取集合中元素的數量

zcard key

9、獲得指定分數范圍內的元素個數

zcount key min max

10、按照排名范圍刪除元素

zremrangebyrank key start stop

11、獲取元素的排名

從小到大 zrank key member

從大到小 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 10001
求商品銷量前 10 名 zrange goods:sellsort 0 10 withscores
Redis 中的五大基礎類型是什么

2、抖音熱搜

Redis 中的五大基礎類型是什么

1、點擊視頻

ZINCRBY hotavi:20220203 1 八百

ZINCRBY hotavi:20220203 15 八百 2 花木蘭

2、展示當日排行前 10 條

zrevrange hotavi:20220203 0 9 withscores

以上就是關于“Redis 中的五大基礎類型是什么”這篇文章的內容,相信大家都有了一定的了解,希望丸趣 TV 小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-15發表,共計3380字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 汶上县| 哈巴河县| 遂溪县| 雅安市| 微山县| 黑龙江省| 柳河县| 秭归县| 吴忠市| 安新县| 来安县| 满洲里市| 开封县| 桐庐县| 广平县| 两当县| 普安县| 萍乡市| 苏尼特左旗| 齐齐哈尔市| 海原县| 太康县| 丹江口市| 辽阳县| 霍城县| 云安县| 化隆| 平凉市| 建平县| 繁昌县| 安多县| 永清县| 阿拉善右旗| 乐昌市| 阿坝县| 玛多县| 洛南县| 民和| 高安市| 南乐县| 开平市|