這篇文章透過指令和運用場景,帶大家了解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中文網其他相關文章!

Redis脫穎而出是因為其高速、多功能性和豐富的數據結構。 1)Redis支持字符串、列表、集合、散列和有序集合等數據結構。 2)它通過內存存儲數據,支持RDB和AOF持久化。 3)從Redis6.0開始引入多線程處理I/O操作,提升了高並發場景下的性能。

RedisisclassifiedasaNoSQLdatabasebecauseitusesakey-valuedatamodelinsteadofthetraditionalrelationaldatabasemodel.Itoffersspeedandflexibility,makingitidealforreal-timeapplicationsandcaching,butitmaynotbesuitableforscenariosrequiringstrictdataintegrityo

Redis通過緩存數據、實現分佈式鎖和數據持久化來提升應用性能和可擴展性。 1)緩存數據:使用Redis緩存頻繁訪問的數據,提高數據訪問速度。 2)分佈式鎖:利用Redis實現分佈式鎖,確保在分佈式環境中操作的安全性。 3)數據持久化:通過RDB和AOF機制保證數據安全性,防止數據丟失。

Redis的數據模型和結構包括五種主要類型:1.字符串(String):用於存儲文本或二進制數據,支持原子操作。 2.列表(List):有序元素集合,適合隊列和堆棧。 3.集合(Set):無序唯一元素集合,支持集合運算。 4.有序集合(SortedSet):帶分數的唯一元素集合,適用於排行榜。 5.哈希表(Hash):鍵值對集合,適合存儲對象。

Redis的數據庫方法包括內存數據庫和鍵值存儲。 1)Redis將數據存儲在內存中,讀寫速度快。 2)它使用鍵值對存儲數據,支持複雜數據結構,如列表、集合、哈希表和有序集合,適用於緩存和NoSQL數據庫。

Redis是一個強大的數據庫解決方案,因為它提供了極速性能、豐富的數據結構、高可用性和擴展性、持久化能力以及廣泛的生態系統支持。 1)極速性能:Redis的數據存儲在內存中,讀寫速度極快,適合高並發和低延遲應用。 2)豐富的數據結構:支持多種數據類型,如列表、集合等,適用於多種場景。 3)高可用性和擴展性:支持主從復制和集群模式,實現高可用性和水平擴展。 4)持久化和數據安全:通過RDB和AOF兩種方式實現數據持久化,確保數據的完整性和可靠性。 5)廣泛的生態系統和社區支持:擁有龐大的生態系統和活躍社區,

Redis的關鍵特性包括速度、靈活性和豐富的數據結構支持。 1)速度:Redis作為內存數據庫,讀寫操作幾乎瞬時,適用於緩存和會話管理。 2)靈活性:支持多種數據結構,如字符串、列表、集合等,適用於復雜數據處理。 3)數據結構支持:提供字符串、列表、集合、哈希表等,適合不同業務需求。

Redis的核心功能是高性能的內存數據存儲和處理系統。 1)高速數據訪問:Redis將數據存儲在內存中,提供微秒級別的讀寫速度。 2)豐富的數據結構:支持字符串、列表、集合等,適應多種應用場景。 3)持久化:通過RDB和AOF方式將數據持久化到磁盤。 4)發布訂閱:可用於消息隊列或實時通信系統。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

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