{eval=Array;=+count(Array);}

成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

問答專欄Q & A COLUMN

Redis是啥?

dongxiawudongxiawu 回答0 收藏1
問題描述:在Java高級(jí)里經(jīng)常見,但是我才學(xué)到框架,所請(qǐng)問以Redis是啥,干啥用的?
收藏問題

5條回答

JaysonWang

JaysonWang

回答于2022-06-28 15:05

想要了解Redis,先從Redis是什么?為何要用Redis?有哪些特性,以及其集群架構(gòu)來幾個(gè)方面來了解。


Redis 簡(jiǎn)介

Redis 是一個(gè)開源(BSD 許可)的、內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)系統(tǒng),它可以用作數(shù)據(jù)庫(kù)、緩存和消息中間件。

為什么要用 Redis

在高并發(fā)場(chǎng)景下,如果需要經(jīng)常連接結(jié)果變動(dòng)頻繁的數(shù)據(jù)庫(kù),會(huì)導(dǎo)致數(shù)據(jù)庫(kù)讀取及存取的速度變慢,數(shù)據(jù)庫(kù)壓力極大。因此我們需要通過緩存來減少數(shù)據(jù)庫(kù)的壓力,使得大量的訪問進(jìn)來能夠命中緩存,只有少量的需要到數(shù)據(jù)庫(kù)層。由于緩存基于內(nèi)存,可支持的并發(fā)量遠(yuǎn)遠(yuǎn)大于基于硬盤的數(shù)據(jù)庫(kù)。所以對(duì)于高并發(fā)設(shè)計(jì),緩存的設(shè)計(jì)是必不可少的一環(huán)。而 Redis 作為比較熱門的內(nèi)存存儲(chǔ)系統(tǒng)之一,由于其對(duì)數(shù)據(jù)持久化的支持,種類豐富的數(shù)據(jù)結(jié)構(gòu),使其定位更傾向于內(nèi)存數(shù)據(jù)庫(kù),適用于對(duì)讀寫效率要求都很高、數(shù)據(jù)處理業(yè)務(wù)復(fù)雜和對(duì)安全性要求較高的系統(tǒng)。

Redis 特征

  1. 單線程,利用 redis 隊(duì)列技術(shù)將訪問變?yōu)榇性L問,消除了傳統(tǒng)數(shù)據(jù)庫(kù)串行控制的開銷。
Redis 的線程模型:
  1. Redis 支持?jǐn)?shù)據(jù)的持久化,包括 RDB 的全量持久化,或者 AOF 的增量持久化,從而使得
Redis 掛了,數(shù)據(jù)是有機(jī)會(huì)恢復(fù)的。也可以將內(nèi)存中的數(shù)據(jù)保持在磁盤中,重啟的時(shí)候可以再次加載進(jìn)行使用。
  1. 分布式架構(gòu),讀寫分離。
  2. 支持的數(shù)據(jù)結(jié)構(gòu)豐富。Redis 不僅僅支持簡(jiǎn)單的 key-value 類型的數(shù)據(jù),同時(shí)還提供 list、
set、zset、hash 等數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)。
  1. Redis 支持?jǐn)?shù)據(jù)的備份,提供成熟的主備同步,故障切換的功能,從而保證了高可用。

Redis Cluster 架構(gòu)

Redis 搭建方式有很多種,本章主要介紹 Redis Cluster 集群構(gòu)建方式:Redis 3.0 之后版本支持 Redis Cluster 集群,Redis Cluster 采用無中心結(jié)構(gòu),每個(gè)節(jié)點(diǎn)保存數(shù)據(jù)和整個(gè)集群狀態(tài),每個(gè)節(jié)點(diǎn)都和其他所有節(jié)點(diǎn)連接。Redis Cluster 為了保證數(shù)據(jù)的高可用性,加入了主從模式,一個(gè)主節(jié)點(diǎn)對(duì)應(yīng)一個(gè)或多個(gè)從節(jié)點(diǎn),主節(jié)點(diǎn)提供數(shù)據(jù)存取,從節(jié)點(diǎn)則是從主節(jié)點(diǎn)拉取數(shù)據(jù)備份,當(dāng)這個(gè)主節(jié)點(diǎn)掛掉后,就會(huì)有這個(gè)從節(jié)點(diǎn)選取一個(gè)來充當(dāng)主節(jié)點(diǎn),從而保證集群不會(huì)掛掉。主從結(jié)構(gòu),一是為了純粹的冗余備份,二是為了提升讀性能,比如很消耗性能的 SORT 就可以由從服務(wù)器來承擔(dān)。Redis 的主從同步是異步進(jìn)行的,這意味著主從同步不會(huì)影響主邏輯,也不會(huì)降低 redis 的處理性能。主從架構(gòu)中,可以考慮關(guān)閉主服務(wù)器的數(shù)據(jù)持久化功能,只讓從服務(wù)器進(jìn)行持久化,這樣可以提高主服務(wù)器的處理性能。在主從架構(gòu)中,從服務(wù)器通常被設(shè)置為只讀模式,這樣可以避免從服務(wù)器的數(shù)據(jù)被誤修改。

評(píng)論0 贊同0
  •  加載中...
shiguibiao

shiguibiao

回答于2022-06-28 15:05

redis就是個(gè)緩存數(shù)據(jù)庫(kù),存儲(chǔ)一些熱點(diǎn)數(shù)據(jù),提高訪問速度,提高并發(fā)量,也可以做分布式鎖,分布式session等,具體參照官網(wǎng)介紹

評(píng)論0 贊同0
  •  加載中...
izhuhaodev

izhuhaodev

回答于2022-06-28 15:05

簡(jiǎn)單的介紹下,也是一種數(shù)據(jù)庫(kù),只是與關(guān)系型數(shù)據(jù)庫(kù)不同(oracle、mysql等)的是,它是將數(shù)據(jù)存儲(chǔ)到內(nèi)存里面,也就是當(dāng)服務(wù)器或者說項(xiàng)目,宕機(jī)了的情況下,會(huì)大幾率會(huì)丟失數(shù)據(jù)(不過redis有快照和備份的功能,可以減低風(fēng)險(xiǎn))。

樓主目前學(xué)習(xí)到了框架,等到了學(xué)習(xí)集成不同框架的時(shí)候,可以集成redis框架進(jìn)行數(shù)據(jù)讀寫來試試看哦。

更詳細(xì)的可以看這個(gè)博文,描述的很詳細(xì)呢(http://www.cnblogs.com/qunshu/p/3196972.html)

——沒事待在家里不出門的 居家程序員。(我不想脫發(fā)!)

評(píng)論0 贊同0
  •  加載中...
tracymac7

tracymac7

回答于2022-06-28 15:05

作者:我沒有三顆心臟Redis 概述

在我們?nèi)粘5腏ava Web開發(fā)中,無不都是使用數(shù)據(jù)庫(kù)來進(jìn)行數(shù)據(jù)的存儲(chǔ),由于一般的系統(tǒng)任務(wù)中通常不會(huì)存在高并發(fā)的情況,所以這樣看起來并沒有什么問題,可是一旦涉及大數(shù)據(jù)量的需求,比如一些商品搶購(gòu)的情景,或者是主頁(yè)訪問量瞬間較大的時(shí)候,單一使用數(shù)據(jù)庫(kù)來保存數(shù)據(jù)的系統(tǒng)會(huì)因?yàn)槊嫦虼疟P,磁盤讀/寫速度比較慢的問題而存在嚴(yán)重的性能弊端,一瞬間成千上萬的請(qǐng)求到來,需要系統(tǒng)在極短的時(shí)間內(nèi)完成成千上萬次的讀/寫操作,這個(gè)時(shí)候往往不是數(shù)據(jù)庫(kù)能夠承受的,極其容易造成數(shù)據(jù)庫(kù)系統(tǒng)癱瘓,最終導(dǎo)致服務(wù)宕機(jī)的嚴(yán)重生產(chǎn)問題。

NoSQL 技術(shù)

為了克服上述的問題,Java Web項(xiàng)目通常會(huì)引入NoSQL技術(shù),這是一種基于內(nèi)存的數(shù)據(jù)庫(kù),并且提供一定的持久化功能。

Redis和MongoDB是當(dāng)前使用最廣泛的NoSQL,而就Redis技術(shù)而言,它的性能十分優(yōu)越,可以支持每秒十幾萬此的讀/寫操作,其性能遠(yuǎn)超數(shù)據(jù)庫(kù),并且還支持集群、分布式、主從同步等配置,原則上可以無限擴(kuò)展,讓更多的數(shù)據(jù)存儲(chǔ)在內(nèi)存中,更讓人欣慰的是它還支持一定的事務(wù)能力,這保證了高并發(fā)的場(chǎng)景下數(shù)據(jù)的安全和一致性。

Redis 在 Java Web 中的應(yīng)用

Redis 在 Java Web 主要有兩個(gè)應(yīng)用場(chǎng)景:

  • 存儲(chǔ) 緩存 用的數(shù)據(jù);
  • 需要高速讀/寫的場(chǎng)合使用它快速讀/寫;
緩存

在日常對(duì)數(shù)據(jù)庫(kù)的訪問中,讀操作的次數(shù)遠(yuǎn)超寫操作,比例大概在 1:9 到 3:7,所以需要讀的可能性是比寫的可能大得多的。當(dāng)我們使用SQL語句去數(shù)據(jù)庫(kù)進(jìn)行讀寫操作時(shí),數(shù)據(jù)庫(kù)就會(huì)去磁盤把對(duì)應(yīng)的數(shù)據(jù)索引取回來,這是一個(gè)相對(duì)較慢的過程。

如果我們把數(shù)據(jù)放在 Redis 中,也就是直接放在內(nèi)存之中,讓服務(wù)端直接去讀取內(nèi)存中的數(shù)據(jù),那么這樣速度明顯就會(huì)快上不少,并且會(huì)極大減小數(shù)據(jù)庫(kù)的壓力,但是使用內(nèi)存進(jìn)行數(shù)據(jù)存儲(chǔ)開銷也是比較大的,限于成本的原因,一般我們只是使用 Redis 存儲(chǔ)一些常用和主要的數(shù)據(jù),比如用戶登錄的信息等。

一般而言在使用 Redis 進(jìn)行存儲(chǔ)的時(shí)候,我們需要從以下幾個(gè)方面來考慮:

  • **業(yè)務(wù)數(shù)據(jù)常用嗎?命中率如何?**如果命中率很低,就沒有必要寫入緩存;
  • **該業(yè)務(wù)數(shù)據(jù)是讀操作多,還是寫操作多?**如果寫操作多,頻繁需要寫入數(shù)據(jù)庫(kù),也沒有必要使用緩存;
  • **業(yè)務(wù)數(shù)據(jù)大小如何?**如果要存儲(chǔ)幾百兆字節(jié)的文件,會(huì)給緩存帶來很大的壓力,這樣也沒有必要;

在考慮了這些問題之后,如果覺得有必要使用緩存,那么就使用它!使用 Redis 作為緩存的讀取邏輯如下圖所示:

從上圖我們可以知道以下兩點(diǎn):

  1. 當(dāng)?shù)谝淮巫x取數(shù)據(jù)的時(shí)候,讀取 Redis 的數(shù)據(jù)就會(huì)失敗,此時(shí)就會(huì)觸發(fā)程序讀取數(shù)據(jù)庫(kù),把數(shù)據(jù)讀取出來,并且寫入 Redis 中;
  2. 當(dāng)?shù)诙我约耙院笮枰x取數(shù)據(jù)時(shí),就會(huì)直接讀取 Redis,讀到數(shù)據(jù)后就結(jié)束了流程,這樣速度就大大提高了。

從上面的分析可以知道,讀操作的可能性是遠(yuǎn)大于寫操作的,所以使用 Redis 來處理日常中需要經(jīng)常讀取的數(shù)據(jù),速度提升是顯而易見的,同時(shí)也降低了對(duì)數(shù)據(jù)庫(kù)的依賴,使得數(shù)據(jù)庫(kù)的壓力大大減少。

分析了讀操作的邏輯,下面我們來看看寫操作的流程:

從流程可以看出,更新或者寫入的操作,需要多個(gè) Redis 的操作,如果業(yè)務(wù)數(shù)據(jù)寫次數(shù)遠(yuǎn)大于讀次數(shù)那么就沒有必要使用 Redis。

關(guān)于使用內(nèi)存存儲(chǔ)數(shù)據(jù),我知道谷歌好像就是把所有互聯(lián)網(wǎng)的數(shù)據(jù)都存儲(chǔ)在內(nèi)存條的,所以才會(huì)有如此高質(zhì)量、高效的搜索,但它畢竟是谷歌…
高速讀/寫的場(chǎng)合

在如今的互聯(lián)網(wǎng)中,越來越多的存在高并發(fā)的情況,比如天貓雙11、搶紅包、搶演唱會(huì)門票等,這些場(chǎng)合都是在某一個(gè)瞬間或者是某一個(gè)短暫的時(shí)刻有成千上萬的請(qǐng)求到達(dá)服務(wù)器,如果單純的使用數(shù)據(jù)庫(kù)來進(jìn)行處理,就算不崩,也會(huì)很慢的,輕則造成用戶體驗(yàn)極差用戶量流失,重則數(shù)據(jù)庫(kù)癱瘓,服務(wù)宕機(jī),而這樣的場(chǎng)合都是不允許的!

所以我們需要使用 Redis 來應(yīng)對(duì)這樣的高并發(fā)需求的場(chǎng)合,我們先來看看一次請(qǐng)求操作的流程圖:

我們來進(jìn)一步闡述這個(gè)過程:

  1. 當(dāng)一個(gè)請(qǐng)求到達(dá)服務(wù)器時(shí),只是把業(yè)務(wù)數(shù)據(jù)在 Redis 上進(jìn)行讀寫,而沒有對(duì)數(shù)據(jù)庫(kù)進(jìn)行任何的操作,這樣就能大大提高讀寫的速度,從而滿足高速響應(yīng)的需求;
  2. 但是這些緩存的數(shù)據(jù)仍然需要持久化,也就是存入數(shù)據(jù)庫(kù)之中,所以在一個(gè)請(qǐng)求操作完 Redis 的讀/寫之后,會(huì)去判斷該高速讀/寫的業(yè)務(wù)是否結(jié)束,這個(gè)判斷通常會(huì)在秒殺商品為0,紅包金額為0時(shí)成立,如果不成立,則不會(huì)操作數(shù)據(jù)庫(kù);如果成立,則觸發(fā)事件將 Redis 的緩存的數(shù)據(jù)以批量的形式一次性寫入數(shù)據(jù)庫(kù),從而完成持久化的工作。

把 Redis 下載下來后找到一個(gè)合適的地方解壓,就能得到如下圖所示的目錄(這里空格被替換成了%20…):

為了方便啟動(dòng),我們?cè)谠撃夸浵滦陆ㄒ粋€(gè) startup.cmd 的文件,然后將以下內(nèi)容寫入文件:

這個(gè)命令其實(shí)就是在調(diào)用 redis-server.exe 命令來讀取 redis.window.conf 的內(nèi)容,我們雙擊剛才創(chuàng)建好的 startup.cmd 文件,就能成功的看到 Redis 啟動(dòng):

上圖的提示信息告訴了我們:① Redis 當(dāng)前的版本為 3.0.503;**② Redis 運(yùn)行在 6379 端口;**③ Redis 進(jìn)程的 PID 為 14748;④ 64 位。

我們可以打開同一個(gè)文件夾下的 redis-cli.exe 文件,這是 Redis 自帶的一個(gè)客戶端工具,它可以用來連接到我們當(dāng)前的 Redis 服務(wù)器,我們做以下測(cè)試:

如此,我們便在 Windows 的環(huán)境下安裝好了 Redis。

在 Java 中使用 Redis第一步:添加 Jedis 依賴

想要在 Java 中使用 Redis 緩存,需要添加相關(guān)的Jar包依賴

把它導(dǎo)入工程中去就可以啦,下面我們來對(duì)Redis的寫入性能做一下測(cè)試:

據(jù)說 Redis 的性能能達(dá)到十萬級(jí)別,我不敢相信我的臺(tái)式機(jī)電腦只有十分之一不到的性能,雖然說這里不是流水線的操作,會(huì)造成一定的影響,但我還是不信邪,我查到了官方的性能測(cè)試方法:

**首先在Redis根目錄下召喚Cmd:**具體方法是按住【Shift】點(diǎn)擊右鍵

**然后輸入命令:【redis-benchmark -n 100000 -q】:**來同時(shí)執(zhí)行10萬個(gè)請(qǐng)求測(cè)試性能

好吧,我同時(shí)在我的筆記本上測(cè)試了一下,結(jié)果更加慘淡…low啊low…

第二步:使用 Redis 連接池

跟數(shù)據(jù)庫(kù)連接池相同,Java Redis也同樣提供了類來管理我們的Reids連接池對(duì)象,并且我們可以使用來對(duì)連接池進(jìn)行配置,代碼如下:

Redis 只能支持六種數(shù)據(jù)類型(string/hash/list/set/zset/hyperloglog)的操作,但在 Java 中我們卻通常以類對(duì)象為主,所以在需要 Redis 存儲(chǔ)的五中數(shù)據(jù)類型與 Java 對(duì)象之間進(jìn)行轉(zhuǎn)換,如果自己編寫一些工具類,比如一個(gè)角色對(duì)象的轉(zhuǎn)換,還是比較容易的,但是涉及到許多對(duì)象的時(shí)候,這其中無論工作量還是工作難度都是很大的,所以總體來說,就操作對(duì)象而言,使用 Redis 還是挺難的,好在 Spring 對(duì)這些進(jìn)行了封裝和支持。

第三步:在 Spring 中使用 Redis

上面說到了 Redis 無法操作對(duì)象的問題,無法在那些基礎(chǔ)類型和 Java 對(duì)象之間方便的轉(zhuǎn)換,但是在 Spring 中,這些問題都可以通過使用RedisTemplate得到解決!

想要達(dá)到這樣的效果,除了 Jedis 包以外還需要在 Spring 引入 spring-data-redis 包:https://mvnrepository.com/artifact/org.springframework.data/spring-data-redis

這里把2.0.7最新版本標(biāo)紅的意思是:別老想著使用最新的Jar包,特別是涉及到框架的一些東西,筆者用實(shí)際的操作體驗(yàn)告訴你們,引入該版本的包是會(huì)導(dǎo)致Jar包沖突的(也就是莫名其妙的錯(cuò)誤),我乖乖換回了1.7.2的版本,代碼就通了…我們來看看怎么做吧:

(1)第一步:使用Spring配置JedisPoolConfig對(duì)象

大部分的情況下,我們還是會(huì)用到連接池的,于是先用 Spring 配置一個(gè) JedisPoolConfig 對(duì)象:

(2)第二步:為連接池配置工廠模型

好了,我們現(xiàn)在配置好了連接池的相關(guān)屬性,那么具體使用哪種工廠實(shí)現(xiàn)呢?在Spring Data Redis中有四種可供我們選擇的工廠模型,它們分別是:

  • JredisConnectionFactory
  • JedisConnectionFactory
  • LettuceConnectionFactory
  • SrpConnectionFactory

我們這里就簡(jiǎn)單配置成JedisConnectionFactory:

(3)第三步:配置RedisTemplate

普通的連接根本沒有辦法直接將對(duì)象直接存入 Redis 內(nèi)存中,我們需要替代的方案:將對(duì)象序列化(可以簡(jiǎn)單的理解為繼承Serializable接口)。我們可以把對(duì)象序列化之后存入Redis緩存中,然后在取出的時(shí)候又通過轉(zhuǎn)換器,將序列化之后的對(duì)象反序列化回對(duì)象,這樣就完成了我們的要求:

RedisTemplate可以幫助我們完成這份工作,它會(huì)找到對(duì)應(yīng)的序列化器去轉(zhuǎn)換Redis的鍵值:

筆者從《JavaEE互聯(lián)網(wǎng)輕量級(jí)框架整合開發(fā)》中了解到,這一步需要配置多帶帶的序列化器去支撐這一步的工作,但是自己在測(cè)試當(dāng)中,發(fā)現(xiàn)只要我們的POJO類實(shí)現(xiàn)了Serializable接口,就不會(huì)出現(xiàn)問題…所以我直接省略掉了配置序列化器這一步…

(4)第四步:編寫測(cè)試

首先編寫好支持我們測(cè)試的POJO類:

然后編寫測(cè)試類:

運(yùn)行可以成功看到結(jié)果:

第四步:在 SpringBoot 中使用 Redis

(1)在SpringBoot中添加Redis依賴:

(2)添加配置文件:

在SpringBoot中使用或者都可以,這里給出的例子,因?yàn)樽约旱奈募瓷先ジ杏X亂糟糟的:

(3)測(cè)試訪問:

通過上面這段極為簡(jiǎn)單的測(cè)試案例演示了如何通過自動(dòng)配置的StringRedisTemplate對(duì)象進(jìn)行Redis的讀寫操作,該對(duì)象從命名中就可注意到支持的是String類型。原本是RedisTemplate<K, V>接口,StringRedisTemplate就相當(dāng)于RedisTemplate<String, String>的實(shí)現(xiàn)。

運(yùn)行測(cè)試,如果一切成功則不會(huì)報(bào)錯(cuò),如果我們沒有拿到或者拿到的數(shù)不是我們想要的 “111” ,那么則會(huì)報(bào)錯(cuò),這是使用Assert的好處(下面是我改成112之后運(yùn)行報(bào)錯(cuò)的結(jié)果):

(4)存儲(chǔ)對(duì)象:

這一步跟上面使用Spring一樣,只需要將POJO類實(shí)現(xiàn)Serializable接口就可以了,我這里就貼一下測(cè)試代碼:

仍然沒有任何問題:


直接黏上兩段簡(jiǎn)單的示例代碼:

在Redis中操作List在Redis中操作Hash總結(jié)

在網(wǎng)上看到了關(guān)于MySQL的性能測(cè)試,讀寫操作大概就每秒1000以下的樣子,而且這還和引擎相關(guān),所以可以看出Redis確實(shí)能在性能方面幫助許多

評(píng)論0 贊同0
  •  加載中...
codeKK

codeKK

回答于2022-06-28 15:05

Redis簡(jiǎn)介

Redis是一個(gè)開源的使用ANSI C語言編寫、遵守BSD協(xié)議、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫(kù),并提供多種語言的API。Reis通常被稱為數(shù)據(jù)結(jié)構(gòu)服務(wù)器,因?yàn)橹担╲alue)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等類型。

特點(diǎn)

Redis是一個(gè)高性能的key-value數(shù)據(jù)庫(kù),其主要特點(diǎn):

Redis支持?jǐn)?shù)據(jù)的持久化,可以將內(nèi)存中的數(shù)據(jù)保存在磁盤中,重啟的時(shí)候可以再次加載進(jìn)行使用。

Redis不僅僅支持簡(jiǎn)單的key-value類型的數(shù)據(jù),同時(shí)還提供list,set,zset,hash等數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)。

Redis支持?jǐn)?shù)據(jù)的備份,即master-slave模式的數(shù)據(jù)備份。

優(yōu)點(diǎn)

性能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。

豐富的數(shù)據(jù)類型 – Redis支持二進(jìn)制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 數(shù)據(jù)類型操作。

原子 – Redis的所有操作都是原子性的,意思就是要么成功執(zhí)行要么失敗完全不執(zhí)行。單個(gè)操作是原子性的。多個(gè)操作也支持事務(wù),即原子性,通過MULTI和EXEC指令包起來。

豐富的特性 – Redis還支持 publish/subscribe, 通知, key 過期等等特性。

五種數(shù)據(jù)類型

Redis吳忠數(shù)據(jù)類型為字符串(String),哈希(Hash), 列表(list), 集合(sets)和有序集合(sorted sets)。

Redis 內(nèi)部使用一個(gè) redisObject 對(duì)象來表示所有的 key 和 value。type 表示一個(gè) value 對(duì)象具體是何種數(shù)據(jù)類型,encoding 是不同數(shù)據(jù)類型在 Redis 內(nèi)部的存儲(chǔ)方式。。

  • String 是 Redis 最基本的類型,一個(gè) Key 對(duì)應(yīng)一個(gè) Value。Value 可以是 String、數(shù)字。
  • Hash是一個(gè)鍵值(key-value)的集合。Redis 的 Hash 是一個(gè) String 的 Key 和 Value 的映射表,Hash 特別適合存儲(chǔ)對(duì)象。常用命令:hget,hset,hgetall 等。
  • List 列表是簡(jiǎn)單的字符串列表,按照插入順序排序??梢蕴砑右粋€(gè)元素到列表的頭部(左邊)或者尾部(右邊) 常用命令:lpush、rpush、lpop、rpop、lrange(獲取列表片段)等。
  • Set 是 String 類型的無序集合。集合是通過 hashtable 實(shí)現(xiàn)的。Set 中的元素是沒有順序的,而且是沒有重復(fù)的。常用命令:sdd、spop、smembers、sunion 等。
  • sorted sets和 Set 一樣是 String 類型元素的集合,且不允許重復(fù)的元素。

如果解決了你的疑惑,請(qǐng)點(diǎn)點(diǎn)關(guān)注和評(píng)論,謝謝大家支持。

正春華枝俏,待秋實(shí)果茂,與君共勉。


評(píng)論0 贊同0
  •  加載中...

相關(guān)問題

最新活動(dòng)

您已邀請(qǐng)0人回答 查看邀請(qǐng)

我的邀請(qǐng)列表

  • 擅長(zhǎng)該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費(fèi)偷看金額在0.1-10元之間
<