【Redis緩存】- Redis數(shù)據(jù)結(jié)構(gòu)、基本命令操作贱田、持久化

一缅茉、Redis 數(shù)據(jù)結(jié)構(gòu)

要想使用 Redis 進(jìn)行數(shù)據(jù)存儲(chǔ),首先需要了解 Redis 的數(shù)據(jù)結(jié)構(gòu)男摧,redis存儲(chǔ)的是:key,value格式的數(shù)據(jù)蔬墩,其中key都是字符串,value有5種不同的數(shù)據(jù)結(jié)構(gòu):

字符串類型 string

哈希類型 hash : map格式 ?

列表類型 list : linkedlist格式耗拓。支持重復(fù)元素

集合類型 set ?: 不允許重復(fù)元素

有序集合類型 sortedset:不允許重復(fù)元素拇颅,且元素有順序

這五種數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)方式可見(jiàn)下表:


?二、Redis 基本命令操作

針對(duì)以上五種不同的數(shù)據(jù)結(jié)構(gòu)乔询,Redis 有相應(yīng)的命令來(lái)進(jìn)行操作蔬蕊,可以達(dá)到對(duì)數(shù)據(jù)的存儲(chǔ)、獲取和刪除

1、字符串型:string

存儲(chǔ):set key value

eg:set name oneStar

獲劝逗弧:get key

eg:get name

刪除:del key

eg:del name


2麻献、哈希類型:hash

存儲(chǔ):hset key field value

eg:hset myhash name twoStar

? ? ? ? hset myhash age 18

獲取指定的field對(duì)應(yīng)的值:hget key field

獲取所有的field和value:hgetall key

eg:hget myhash name

eg:hgetall myhash

刪除:hdel key field

eg:hdel myhash name


3、列表類型:list

可以添加一個(gè)元素到列表的頭部(左邊)或者尾部(右邊)

存儲(chǔ)

lpush key value:將元素加入列表左表

rpush key value:將元素加入列表右邊

eg:lpush myList a

? ? ? ? lpush myList b

? ? ? ??rpush myList c

獲炔掳纭:lrange key start end :范圍獲取

eg:lrange myList 0 -1

刪除

lpop key: 刪除列表最左邊的元素勉吻,并將元素返回

eg:lpop myList

rpop key: 刪除列表最右邊的元素,并將元素返回

eg:rpop


4旅赢、集合類型:set

不允許重復(fù)元素

存儲(chǔ):sadd key value

eg:sadd myset a

獲取set集合中所有元素:smembers key

eg:smembers myset

刪除set集合中的某個(gè)元素:srem key value

eg:srem myset a


5齿桃、有序集合類型:sortedset

不允許重復(fù)元素,且元素有順序.每個(gè)元素都會(huì)關(guān)聯(lián)一個(gè)double類型的分?jǐn)?shù)煮盼。redis正是通過(guò)分?jǐn)?shù)來(lái)為集合中的成員進(jìn)行從小到大的排序短纵。

存儲(chǔ):zadd key score value

eg:zadd mysort 60 oneStar

? ? ? ??zadd mysort 50 twoStar

? ? ? ??zadd mysort 80 threeStar

獲取:zrange key start end [withscores]

eg1:zrange mysort 0 -1

eg2:zrange mysort 0 -1 withscores

刪除:zrem key value

eg:zrem mysort oneStar


6僵控、通用命令

keys * : 查詢所有的鍵

eg:keys *

type key : 獲取鍵對(duì)應(yīng)的value的類型

eg:type myhash

del key:刪除指定的key value

eg:del myhash


三香到、Redis持久化

redis是一個(gè)內(nèi)存數(shù)據(jù)庫(kù),當(dāng)redis服務(wù)器重啟报破,獲取電腦重啟悠就,數(shù)據(jù)會(huì)丟失,為了解決這個(gè)問(wèn)題充易,我們可以將 redis 內(nèi)存中的數(shù)據(jù)持久化保存到硬盤的文件中梗脾。

Redis 持久化機(jī)制有兩種:

1、RDB 持久化機(jī)制

RDB 持久化機(jī)制是默認(rèn)的方式盹靴,不需要進(jìn)行配置炸茧,默認(rèn)就使用這種機(jī)制,在一定的間隔時(shí)間中稿静,檢測(cè)key的變化情況宇立,然后持久化數(shù)據(jù),對(duì)性能影響不大自赔。

【1】RDB 持久化機(jī)制妈嘹,是根據(jù) Redis 安裝目錄下的?redis.windwos.conf 文件中配置內(nèi)容決定的:


save 900 1:如果 15 分鐘后最少有一個(gè) key 被改變就持久化一次

save 300 10:如果 5 分鐘后最少有 10 個(gè) key 被改變就持久化一次

save 60 ?10000:如果 1 分鐘后最少有 10000 個(gè) key 被改變就持久化一次

可以通過(guò)改變這個(gè)配置來(lái)指定自己想要的持久化時(shí)間和次數(shù)

【2】重新在命令行啟動(dòng)redis服務(wù)器,并指定配置文件名稱绍妨,便可以進(jìn)行持久化了

2润脸、?AOF 持久化機(jī)制

AOF 持久化機(jī)制是使用日志記錄的方式,可以記錄每一條命令的操作他去,可以每一次命令操作后毙驯,持久化數(shù)據(jù),執(zhí)行一條語(yǔ)句就進(jìn)行一次持久化灾测,對(duì)性能的影響比較大爆价。

【1】開(kāi)啟 AOF 持久化機(jī)制

編輯 redis.windwos.conf 文件,找到 appendonly no,將 no 改為 yes铭段,即表示開(kāi)啟 AOF 持久化機(jī)制



在?redis.windwos.conf 文件中骤宣,可以找到如下信息:

# appendfsync always : 每一次操作都進(jìn)行持久化

appendfsync everysec : 每隔一秒進(jìn)行一次持久化

# appendfsync no?? ? : 不進(jìn)行持久化


【2】重新在命令行啟動(dòng)redis服務(wù)器,并指定配置文件名稱序愚,便可以進(jìn)行持久化了


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末憔披,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子爸吮,更是在濱河造成了極大的恐慌芬膝,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,366評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件形娇,死亡現(xiàn)場(chǎng)離奇詭異锰霜,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)桐早,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門癣缅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人勘畔,你說(shuō)我怎么就攤上這事所灸±龌蹋” “怎么了炫七?”我有些...
    開(kāi)封第一講書人閱讀 165,689評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)钾唬。 經(jīng)常有香客問(wèn)我万哪,道長(zhǎng),這世上最難降的妖魔是什么抡秆? 我笑而不...
    開(kāi)封第一講書人閱讀 58,925評(píng)論 1 295
  • 正文 為了忘掉前任奕巍,我火速辦了婚禮,結(jié)果婚禮上儒士,老公的妹妹穿的比我還像新娘的止。我一直安慰自己,他們只是感情好着撩,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布诅福。 她就那樣靜靜地躺著,像睡著了一般拖叙。 火紅的嫁衣襯著肌膚如雪氓润。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,727評(píng)論 1 305
  • 那天薯鳍,我揣著相機(jī)與錄音咖气,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛崩溪,可吹牛的內(nèi)容都是我干的浅役。 我是一名探鬼主播,決...
    沈念sama閱讀 40,447評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼悯舟,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼担租!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起抵怎,我...
    開(kāi)封第一講書人閱讀 39,349評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤奋救,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后反惕,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體尝艘,經(jīng)...
    沈念sama閱讀 45,820評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評(píng)論 3 337
  • 正文 我和宋清朗相戀三年姿染,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了背亥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,127評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡悬赏,死狀恐怖狡汉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情闽颇,我是刑警寧澤盾戴,帶...
    沈念sama閱讀 35,812評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站兵多,受9級(jí)特大地震影響尖啡,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜剩膘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評(píng)論 3 331
  • 文/蒙蒙 一衅斩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧怠褐,春花似錦畏梆、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,017評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至筐赔,卻和暖如春铣猩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背茴丰。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,142評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工达皿, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留天吓,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,388評(píng)論 3 373
  • 正文 我出身青樓峦椰,卻偏偏與公主長(zhǎng)得像龄寞,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子汤功,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容