這篇文章透過指令和運用場景,帶大家了解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影片教學】
redis 指令查詢:http://www.redis.cn/commands.html
備註:redis 指令不區分大小寫,而key 是區分大小寫的
查詢指令幫助:
#help @類型名詞
##範例:
最常用## 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]
- #PX: key自多少毫秒後過期
- NX: 當key 不存在的時候,才建立key. 效果等同於setnx
- XX: 當key 存在的時候,覆蓋key
#運用場景
#商品編號、訂單號碼採用INCR 指令產生- 是否喜歡文章按讚
- 閱讀數:只要點擊了rest 位址,直接使用incr key 指令增加一個數字1,完成記錄數字。
命令實踐
#hash 雜湊類型
Map
一次設定一個欄位值# 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 3344771總數--> hlen shopcar:uid1024
全部選擇--> hgetall shopcar:uid1024
list 清單類型
在清單左邊加入元素
##lpush key value [value ...]向清單右邊新增元素
rpush key value [value ...]
查看清單
lrange key start stop
取得清單中元素的個數
llen key
指令使用
應用場景
微信文章訂閱公眾號
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 的元素合併後的集合
#1、用戶id,立即參與,sadd key 用戶id
我關注了華為餘承東, 餘承東也關注了張召動, 我和余總有共同的愛好sadd s1 1 2 3 4 5
sadd s2 3 4 5 6 7sismember s1 3sismember s2 3- QQ內推可能認識的人
- // 共同好友
- sdiff s1 s2
- 1、 在有序集合中加入一個元素和該元素的分數
- 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
2、抖音熱搜
1、點擊影片
ZINCRBY hotavi:20220203 1 八百
ZINCRBY hotavi :20220203 15 八百2 花木蘭
2、展示當日排行前10 條
zrevrange hotavi:20220203 0 9 withscores
更多程式相關知識,請造訪: 程式設計入門! !
以上是透過命令與運用場景,帶你了解Redis中的五大基礎類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

重新命名butrequirquirequirquirequiresificantificantramandinvolvorvesindatapersistenceandscalibility.1)ITSIN-MEMORYNATURENATUREMORYNATURENATURENATURENATUREPROVIDESULTRA-FASTRAITATITS/WREATERATITS/WREATERATITS/WREATERATITS.2)然而,Idealsforeal-timeApplications.2)然而,beleftal-foreal-timeApplications.2)

Redisoutperformstraditionaldatabasesinspeedforread/writeOperationsDuetoitsin-memorynature,niletraditionalditionalditionalditationaldatabasesexcelcelincomplexqueriessanddaintegrity.1)redisisisisideSidealForrealForreal-timeanalyticsanticanticanticanticanticantic.2)

用戶edisinsteadofatraditionaldatabasewhenyourapplicationrequirespeedandreal-timedataprocorsing,sueAsAsforCaching,sessionmanagement,orrereal-timeanalytics.redisexcelsin:1)caching,緩存,減少載荷載量

Redis超越SQL數據庫的原因在於其高性能和靈活性。 1)Redis通過內存存儲實現極快的讀寫速度。 2)它支持多種數據結構,如列表和集合,適用於復雜數據處理。 3)單線程模型簡化開發,但高並發時可能成瓶頸。

Redis在高並發和低延遲場景下優於傳統數據庫,但不適合複雜查詢和事務處理。 1.Redis使用內存存儲,讀寫速度快,適合高並發和低延遲需求。 2.傳統數據庫基於磁盤,支持複雜查詢和事務處理,數據一致性和持久性強。 3.Redis適用於作為傳統數據庫的補充或替代,但需根據具體業務需求選擇。

Redisisahigh-performancein-memorydatastructurestorethatexcelsinspeedandversatility.1)Itsupportsvariousdatastructureslikestrings,lists,andsets.2)Redisisanin-memorydatabasewithpersistenceoptions,ensuringfastperformanceanddatasafety.3)Itoffersatomicoper

Redis主要是一個數據庫,但它不僅僅是數據庫。 1.作為數據庫,Redis支持持久化,適合高性能需求。 2.作為緩存,Redis提升應用響應速度。 3.作為消息代理,Redis支持發布-訂閱模式,適用於實時通信。

redisisamultifaceTedToolThatServesAsAdatabase,server和more.itfunctionsasanin-memorydatastrustore,supportsvariousDataStructures,and CanbeusedAsacache,MessageBroker,sessionStorage,sessionStorage,sessionstorage,andford forderibedibedlocking。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3漢化版
中文版,非常好用

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)