国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Redis — 不僅僅是緩存

這篇具有很好參考價(jià)值的文章主要介紹了Redis — 不僅僅是緩存。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Redis — 不僅僅是緩存,緩存,redis,數(shù)據(jù)庫
1*qIy3PMmEWNcD9Czh_21C8g.png

Redis是一種快速、開源的內(nèi)存鍵值(NoSQL)數(shù)據(jù)庫,遠(yuǎn)遠(yuǎn)超越了緩存的功能。Redis使用RAM進(jìn)行操作,提供亞毫秒級(jí)的響應(yīng)時(shí)間,支持每秒數(shù)百萬次請(qǐng)求。Redis主要用于緩存,但它也可以作為那些數(shù)據(jù)不經(jīng)常變化的應(yīng)用程序的主要數(shù)據(jù)庫。Redis內(nèi)置了復(fù)制、服務(wù)端腳本(使用Lua腳本)、LRU驅(qū)逐、定時(shí)過期和事務(wù)支持。

Redis的用例包括:

?數(shù)據(jù)投影服務(wù)?臨時(shí)消息代理?事件溯源系統(tǒng)

注意:Redis是使用C語言編寫的。

Redis為什么快?

?Redis是基于RAM的。RAM訪問速度比隨機(jī)磁盤訪問快。?使用IO多路復(fù)用和單線程執(zhí)行循環(huán)來提高執(zhí)行效率。?使用高效的底層數(shù)據(jù)結(jié)構(gòu)(SDS、ZipList、SkipList、分層索引)。

Linux安裝步驟

創(chuàng)建文件/etc/yum.repos.d/redis.repo,內(nèi)容如下:

[Redis]
name=Redis
baseurl=http://packages.redis.io/rpm/rhel7
enabled=1
gpgcheck=1

然后運(yùn)行以下命令:

curl -fsSL https://packages.redis.io/gpg > /tmp/redis.key
sudo rpm --import /tmp/redis.key
sudo yum install epel-release
sudo yum install redis-stack-server

高級(jí)CLI命令

$ redis-cli


INFO - 獲取有關(guān)集群的信息
SELECT - 選擇命名空間/數(shù)據(jù)庫
DBSIZE - 獲取鍵的數(shù)量
KEYS * - 列出所有鍵(模式匹配)(優(yōu)先使用SCAN命令)
SCAN - 用游標(biāo)返回結(jié)果的子集
EXISTS - 檢查鍵是否存在
TYPE - 檢查鍵的數(shù)據(jù)類型
EXPIRE - 設(shè)置鍵的過期時(shí)間
RENAME - 將鍵重命名為新名稱
FLUSHDB - 清除命名空間中的所有鍵
FLUSHALL - 清除所有命名空間中的所有鍵
ROLE - 檢查節(jié)點(diǎn)角色(主節(jié)點(diǎn)、從節(jié)點(diǎn)、哨兵節(jié)點(diǎn))
CLEAR - 清除CLI上下文終端
QUIT - 退出CLI


# redis-cli --pipe #從文件或stdin流式傳輸命令到Redis
# redis-cli --hotkeys #查找熱鍵

關(guān)于一些命令的幾點(diǎn)說明

?Redis數(shù)據(jù)庫是創(chuàng)建鍵的邏輯方式,用于創(chuàng)建鍵的隔離和命名空間。默認(rèn)情況下,Redis有0-15個(gè)數(shù)據(jù)庫索引。在集群模式下,這些數(shù)據(jù)庫不存在。

SELECT index_no

?以下命令通常會(huì)添加

后綴。這些命令根據(jù)鍵的存在與否采取不同的行為。

NX - 如果不存在
XX - 如果存在

注意:通常在命令前加上"M"表示多,例如MGET與GET。類似地,在命令前加上"P"表示基于模式的命令。

?KEYS命令是順序的(O(n))和同步的(阻塞的)。在應(yīng)用程序中,優(yōu)先使用SCAN而不是KEYS。

RedisInsight - 這是一個(gè)與Redis服務(wù)器交互的用戶界面工具。

支持的數(shù)據(jù)結(jié)構(gòu)

Redis — 不僅僅是緩存,緩存,redis,數(shù)據(jù)庫
1*f96hoFTEAiCt2jCF-s7EmA.png

String(字符串)

?最基本和常見的Redis數(shù)據(jù)類型?Redis字符串存儲(chǔ)字節(jié)序列?最大大小為512 MB

SET | GET | DEL
INCR | INCRBY | INCRBYFLOAT
MSET | MGET


注意:DEL是阻塞的,而UNLINK是非阻塞的

List(列表)

Redis — 不僅僅是緩存,緩存,redis,數(shù)據(jù)庫
1*-DoC-iO1T8qRKUgd9mEG5A.png

?字符串值的鏈表?元素的集合?每個(gè)元素都是一個(gè)字符串?可以包含超過40億個(gè)元素?元素順序基于插入順序?編碼和內(nèi)存優(yōu)化

LPUSH | LRANGE | RPUSH | LPOP | RPOP | LLEN
LTRIM | LINDEX | LINSERT | LSET | LPOS | LREM

Set(集合)

?Redis集合是一組無序的唯一字符串(成員),用于跟蹤唯一元素。

SADD | SREM | SCARD | SMEMBERS | SDIFF | SDIFFSTORE
SISMEMBER | SMISMEMBER | SMOVE | SPOP

Hash(哈希)

Redis — 不僅僅是緩存,緩存,redis,數(shù)據(jù)庫
1*nBB3vFuBYooNrPuS-Fnz9Q.png

?Redis哈希是作為字段-值對(duì)集合結(jié)構(gòu)化的記錄類型。每個(gè)哈希可以存儲(chǔ)多達(dá)42億個(gè)(2^32-1)個(gè)字段-值對(duì)。哈希可用于在應(yīng)用程序中存儲(chǔ)會(huì)話和個(gè)人資料。

HSET | HGET | HGETALL | HDEL | HEXIST | HMSET | HMGET

Sorted Set(有序集合)

Redis — 不僅僅是緩存,緩存,redis,數(shù)據(jù)庫
1*CkISVoBW8dIyC4YOu9005Q.png

?Redis有序集合是一組唯一字符串(成員),按相關(guān)分?jǐn)?shù)進(jìn)行排序的集

合。它可以用于排行榜、優(yōu)先級(jí)隊(duì)列、二級(jí)索引和速率限制器。

ZADD | ZCARD | ZSCORE | ZRANK | ZREVRANK | ZREM | ZRANGE

HyperLogLog

HyperLogLog是一種用于估計(jì)集合基數(shù)的數(shù)據(jù)結(jié)構(gòu)。它可用于跟蹤唯一訪問者數(shù)量。HyperLogLog的實(shí)現(xiàn)使用了多達(dá)12KB的空間。PFADD | PFCOUNT | PFMERGE

Streams

Redis — 不僅僅是緩存,緩存,redis,數(shù)據(jù)庫
1*8NRb5TeJ34Jf08do8OzGxg.png

Redis流是一種類似追加日志的數(shù)據(jù)結(jié)構(gòu)。您可以使用流記錄和同時(shí)傳播實(shí)時(shí)事件。

XADD | XREAD | XTRIM | XDEL

XGROUP CREATE | XGROUP DESTROY | XREADGROUP

XGROUP CREATECONSUMER | XGROUP DELCONSUMER

Redis Streams允許At-most-once或At-least-once的消息傳遞。Redis Streams支持同步和異步讀取。

Bitmap

Redis位圖是字符串?dāng)?shù)據(jù)類型的擴(kuò)展,它允許您將字符串視為位向量。

BITOP | BITPOS | BITCOUNT

Redis — 不僅僅是緩存,緩存,redis,數(shù)據(jù)庫
1*QZ7buW1SRfDIeccgmiXxGw.png

圖片來源 — bytebytego.com

Bitfield

Redis位字段允許您設(shè)置、增加和獲取任意位長度的整數(shù)值。

Geospatial

Redis地理空間索引允許您存儲(chǔ)坐標(biāo)并進(jìn)行搜索,查找給定半徑或邊界框內(nèi)的附近點(diǎn)。GEOADD | GEODIST | GEORADIUS | GEOSEARCH | GEOPOS

?Redis使用Haversine公式計(jì)算距離。?Redis將地理空間點(diǎn)存儲(chǔ)在有序集合中。集合的分?jǐn)?shù)用于編碼坐標(biāo)對(duì)。

Key Expiration

Redis — 不僅僅是緩存,緩存,redis,數(shù)據(jù)庫
1*tf8z_SgKoz69y4sXtpwIxg.png

EX — 指定秒數(shù)后過期

PX — 指定毫秒數(shù)后過期

EXAT — 指定時(shí)間戳后過期(秒)

PXAT — 指定時(shí)間戳后過期(毫秒)

TTL — 鍵的剩余生存時(shí)間(近似值)

PERSIST — 移除當(dāng)前的過期時(shí)間

Pipelining

Redis遵循客戶端-服務(wù)器模型??蛻舳税l(fā)送請(qǐng)求,服務(wù)器處理請(qǐng)求并返回響應(yīng)。吞吐量主要由往返時(shí)間(通常在毫秒級(jí)別,請(qǐng)求處理通常在微秒級(jí)別)決定。Redis流水線是一種提高性能的技術(shù),它可以一次性發(fā)出多個(gè)命令,而無需等待每個(gè)單獨(dú)命令的響應(yīng)。這是一種網(wǎng)絡(luò)優(yōu)化,因?yàn)槲覀儨p少了客戶端和服務(wù)器之間的多次往返。

Redis — 不僅僅是緩存,緩存,redis,數(shù)據(jù)庫

注意:1. 管道不保證命令執(zhí)行順序。2. 在管道中不允許在寫操作之后進(jìn)行讀操作,因?yàn)樗忻畹慕Y(jié)果將在最后一起返回。3. 在進(jìn)行管道操作時(shí),需要使用哈希標(biāo)記(hash-tags),以便將鍵強(qiáng)制映射到同一個(gè)分片上。4. 管道不是原子性的。5. Python庫中的管道被包裝在MULTI/EXEC中。

Scripting

調(diào)用服務(wù)器端Lua腳本的執(zhí)行。

SCRIPT LOAD | FUNCTION LOAD | EVAL | FCALL | FUNCTION KILL | SCRIPT KILL

注意:Lua腳本是原子的且是阻塞的。

Pub/Sub

Redis通過發(fā)布/訂閱機(jī)制提供了一種解耦的消息傳遞范式。發(fā)布者將消息發(fā)送到頻道,訂閱者確認(rèn)對(duì)一個(gè)或多個(gè)頻道感興趣,并接收感興趣的消息。

Redis — 不僅僅是緩存,緩存,redis,數(shù)據(jù)庫
1*tV8vZ9MMnYPok7PiTKKjyQ.png

SUBSCRIBE | PUBLISH | PUBSUB CHANNELS | UNSUBSCRIBE

注意:發(fā)布/訂閱與鍵空間無關(guān)。

事務(wù)

Redis事務(wù)允許將一組命令作為單個(gè)步驟執(zhí)行,它們圍繞以下命令展開:

MULTI — 事務(wù)的開始

EXEC — 事務(wù)的結(jié)束

DISCARD — 取消事務(wù)

WATCH — 持續(xù)監(jiān)視鍵是否在我們開始監(jiān)視后被修改

Redis — 不僅僅是緩存,緩存,redis,數(shù)據(jù)庫
1*mLHM_sFayUdEoT3AOKs5tg.png

UNWATCH 事務(wù)中的所有命令都是串行化執(zhí)行的。在Redis事務(wù)的執(zhí)行過程中,不會(huì)在執(zhí)行Redis事務(wù)的過程中為另一個(gè)客戶端服務(wù)。

持久化

在Redis中,如果啟用持久化,數(shù)據(jù)會(huì)被持久化到磁盤。重新啟動(dòng)時(shí),它會(huì)將數(shù)據(jù)加載到內(nèi)存中進(jìn)行計(jì)算。文章來源地址http://www.zghlxwxcb.cn/news/detail-550469.html

Redis — 不僅僅是緩存,緩存,redis,數(shù)據(jù)庫 RDB — 在特定間隔的特定時(shí)間點(diǎn)進(jìn)行快照AOF — 記錄每個(gè)寫操作的日志,每秒同步一次,后臺(tái)線程,在恢復(fù)時(shí)回放日志 注意:您可以通過發(fā)出BGSAVE命令手動(dòng)進(jìn)行快照。

到了這里,關(guān)于Redis — 不僅僅是緩存的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Mac Snipaste 不僅僅是截圖工具,不在菜單欄顯示,怎么樣修改快捷鍵

    Mac Snipaste 不僅僅是截圖工具,不在菜單欄顯示,怎么樣修改快捷鍵

    官網(wǎng)下載: https://www.snipaste.com Snipaste 免費(fèi),支持 Windows、Mac,Windows 上的功能相當(dāng)多而且,Mac 也夠用了 不僅僅是個(gè)截圖工具,具有強(qiáng)大功能: 截圖 貼圖(直接將截圖貼在桌面上,當(dāng)標(biāo)簽貼使用) 取色器 fn + F1: 開始截屏 C : 取色 Tab : 檢測(cè)窗口 + 滑動(dòng)觸控板,選擇要截屏的

    2024年02月08日
    瀏覽(80)
  • 從星巴克看:NFT不僅僅是一種數(shù)字資產(chǎn),更代表著一種全新的交互模式

    品牌方不應(yīng)將數(shù)字化的生意局限在NFT收藏品上,更需另辟蹊徑,比如說粉絲通證?!胺劢z通證與其說是一個(gè)概念,更準(zhǔn)確的描述一種運(yùn)營系統(tǒng),而任何以此為基礎(chǔ)進(jìn)行的活動(dòng)都是只是一種實(shí)現(xiàn)方式。如果發(fā)行的品牌方有強(qiáng)大影響力或者‘信心’,那么發(fā)售一款NFT收藏品是最簡

    2024年02月11日
    瀏覽(21)
  • Redis緩存數(shù)據(jù)庫

    目錄 一、概述 1、Redis ?2、Redis的安裝 Redis Windows環(huán)境設(shè)置 3、String: 字符串 3.1、字符串 3.2、數(shù)值 3.3、bitmap 4、Hash: 散列 5、List: 列表 6、Set: 集合 7、Sorted Set: 有序集合 常識(shí): 磁盤:1.尋址:ms(毫秒)2.帶寬:MB/s 內(nèi)存:1.尋址:ns? ? (納秒)?2.帶寬:GB/s 秒--毫秒--微妙--納秒

    2024年02月04日
    瀏覽(24)
  • Redis緩存數(shù)據(jù)庫(四)

    Redis緩存數(shù)據(jù)庫(四)

    目錄 一、概述 1、Redis Sentinel 1.1、docker配置Redis Sentinel環(huán)境 2、Redis存儲(chǔ)方案 2.1、哈希鏈 2.2、哈希環(huán) 3、Redis分區(qū)(Partitioning)? 4、Redis面試題 Redis Sentinel為Redis提供了 高可用解決方案 。實(shí)際上這意味著使用Sentinel可以部署一套R(shí)edis, 在沒有人為干預(yù)的情況下去應(yīng)付各種各樣的失

    2024年02月05日
    瀏覽(22)
  • redis實(shí)戰(zhàn)-緩存數(shù)據(jù)&解決緩存與數(shù)據(jù)庫數(shù)據(jù)一致性

    redis實(shí)戰(zhàn)-緩存數(shù)據(jù)&解決緩存與數(shù)據(jù)庫數(shù)據(jù)一致性

    緩存( Cache),就是數(shù)據(jù)交換的 緩沖區(qū) ,俗稱的緩存就是 緩沖區(qū)內(nèi)的數(shù)據(jù) ,一般從數(shù)據(jù)庫中獲取,存儲(chǔ)于本地代碼。防止過高的數(shù)據(jù)訪問猛沖系統(tǒng),導(dǎo)致其操作線程無法及時(shí)處理信息而癱瘓,這在實(shí)際開發(fā)中對(duì)企業(yè)講,對(duì)產(chǎn)品口碑,用戶評(píng)價(jià)都是致命的;所以企業(yè)非常重視緩存技術(shù),

    2024年02月12日
    瀏覽(36)
  • redis的緩存更新策略以及如何保證redis與數(shù)據(jù)庫的數(shù)據(jù)一致性

    redis的緩存更新策略有這么幾種: 1、由應(yīng)用直接和redis以及數(shù)據(jù)庫相連接: ?? ??? ?查詢數(shù)據(jù)時(shí),應(yīng)用去redis中查詢,查不到的話再由應(yīng)用去數(shù)據(jù)庫中查詢,并將查詢結(jié)果放在redis; ?? ??? ?更新數(shù)據(jù)時(shí),由應(yīng)用去觸發(fā)redis數(shù)據(jù)的刪除以及數(shù)據(jù)庫的update。 2、應(yīng)用只跟redi

    2024年02月13日
    瀏覽(25)
  • redis數(shù)據(jù)庫緩存服務(wù)器

    redis數(shù)據(jù)庫緩存服務(wù)器

    redis比mysql訪問數(shù)據(jù)快 非關(guān)系型數(shù)據(jù)庫以鍵值對(duì)的方式存儲(chǔ)數(shù)據(jù) 作用:加快訪問速度,緩解數(shù)據(jù)庫壓力 redis最新版本7 特點(diǎn) 豐富的數(shù)據(jù)結(jié)構(gòu) list,set,hash等數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ) 支持持久化 支持事務(wù) “一個(gè)完整的動(dòng)作,要么全部執(zhí)行,要么什么也沒有做” 支持主從支持高可用,支持

    2024年02月05日
    瀏覽(32)
  • Redis如何保證緩存和數(shù)據(jù)庫一致性?

    現(xiàn)在我們?cè)诿嫦蛟鰟h改查開發(fā)時(shí),數(shù)據(jù)庫數(shù)據(jù)量大時(shí)或者對(duì)響應(yīng)要求較快,我們就需要用到Redis來拿取數(shù)據(jù)。 Redis:是一種高性能的內(nèi)存數(shù)據(jù)庫,它將數(shù)據(jù)以鍵值對(duì)的形式存儲(chǔ)在內(nèi)存中,具有讀寫速度快、支持多種數(shù)據(jù)類型、原子性操作、豐富的特性等優(yōu)勢(shì)。 優(yōu)勢(shì): 性能極高

    2024年01月16日
    瀏覽(41)
  • Redis---數(shù)據(jù)庫和緩存如何保證一致性?

    用「讀 + 寫」請(qǐng)求的并發(fā)的場(chǎng)景來分析: 假如某個(gè)用戶數(shù)據(jù)在緩存中不存在,請(qǐng)求 A 讀取數(shù)據(jù)時(shí)從數(shù)據(jù)庫中查詢到年齡為 20,在未寫入緩存中時(shí)另一個(gè)請(qǐng)求 B 更新數(shù)據(jù)。它更新數(shù)據(jù)庫中的年齡為 21,并且清空緩存。這時(shí)請(qǐng)求 A 把從數(shù)據(jù)庫中讀到的年齡為 20 的數(shù)據(jù)寫入到緩存

    2024年01月24日
    瀏覽(27)
  • Redis如何保障緩存與數(shù)據(jù)庫的數(shù)據(jù)一致性問題?

    Redis如何保障緩存與數(shù)據(jù)庫的數(shù)據(jù)一致性問題?

    目錄 一.最經(jīng)典的數(shù)據(jù)庫加緩存的雙寫雙刪模式 二. 高并發(fā)場(chǎng)景下的緩存+數(shù)據(jù)庫雙寫不一致問題分析與解決方案設(shè)計(jì) 三、上面高并發(fā)的場(chǎng)景下,該解決方案要注意的問題 1.1 Cache Aside Pattern概念以及讀寫邏輯 (1)讀的時(shí)候,先讀緩存,緩存沒有的話,那么就讀數(shù)據(jù)庫,然后取

    2023年04月21日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包