redis入門(mén)簡(jiǎn)介(一)

一、什么是redis

redis是一個(gè)開(kāi)源的、使用C語(yǔ)言編寫(xiě)的、支持網(wǎng)絡(luò)交互的、可基于內(nèi)存也可持久化的Key-Value數(shù)據(jù)庫(kù)。

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

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

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

數(shù)據(jù)類型操作。

原子 – Redis的所有操作都是原子性的,同時(shí)Redis還支持對(duì)幾個(gè)操作全并后的原子性執(zhí)行。

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

Redis是提供單線程方式提供服務(wù)

Redis支持主從復(fù)制功能

三、使用場(chǎng)景

緩存——熱數(shù)據(jù)

分布式鎖與單線程機(jī)制

隊(duì)列

排行榜

四、redis相比memcached有哪些優(yōu)勢(shì)?

memcached所有的值均是簡(jiǎn)單的字符串,redis作為其替代者,支持更為豐富的數(shù)據(jù)類型

redis的速度比memcached快很多

redis可以持久化其數(shù)據(jù)

五、mac安裝redis

? ? ? 1. 官網(wǎng)下載:https://redis.io/download

2.解壓安裝,執(zhí)行命令

? ? ? ? tar xzf redis-5.0.3.tar.gz? ? cd redis-5.0.3? ? make

3.啟動(dòng)服務(wù)器

? ? ? ? 執(zhí)行命令:src/redis-server

4.啟動(dòng)客戶端

? ? ? ? 執(zhí)行命令:src/redis-cli

5.保存并獲取緩存數(shù)據(jù)

六、redis支持類型基本操作

string類型

功能說(shuō)明:字符串?dāng)?shù)據(jù)類型的相關(guān)命令用于管理 redis 字符串值

命令描述備注SET key value設(shè)置指定 key 的值

GET key獲取指定 key 的值。

SETNX key value只有在 key 不存在時(shí)設(shè)置 key 的值。

STRLEN key返回 key 所儲(chǔ)存的字符串值的長(zhǎng)度。

2.Redis 哈希(Hash)

功能說(shuō)明:Redis hash 是一個(gè)string類型的field和value的映射表,hash特別適合用于存儲(chǔ)對(duì)象。Redis 中每個(gè) hash 可以存儲(chǔ) 232 - 1 鍵值對(duì)(40多億)。

命令描述備注HMSET key field1 value1 [field2 value2 ]同時(shí)將多個(gè) field-value (域-值)對(duì)設(shè)置到哈希表 key 中。

HMGET key field1 [field2]獲取所有給定字段的值

HGETALL key獲取在哈希表中指定 key 的所有字段和值

HGET key field獲取存儲(chǔ)在哈希表中指定字段的值。

3.Redis 列表(List)

功能說(shuō)明:Redis列表是簡(jiǎn)單的字符串列表,按照插入順序排序。你可以添加一個(gè)元素到列表 的頭部(左邊)或者尾部(右邊)一個(gè)列表最多可以包含 232 - 1 個(gè)元素 (4294967295, 每個(gè)列表超過(guò)40億個(gè)元素)。

命令描述備注LPUSH key value1 [value2]將一個(gè)或多個(gè)值插入到列表頭部

LRANGE key start stop獲取列表指定范圍內(nèi)的元素

LLEN key獲取列表長(zhǎng)度

4.Redis 集合(Set)

功能說(shuō)明:Redis 的 Set 是 String 類型的無(wú)序集合。集合成員是唯一的,這就意味著集合中不能出現(xiàn)重復(fù)的數(shù)據(jù)。

命令描述備注SADD key member1 [member2]向集合添加一個(gè)或多個(gè)成員

SCARD key獲取集合的成員數(shù)

SMEMBERS key返回集合中的所有成員

5.Redis 有序集合(sorted set)

功能說(shuō)明:Redis 有序集合和集合一樣也是string類型元素的集合,且不允許重復(fù)的成員。

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

命令描述備注ZADD key score1 member1 [score2 member2]向有序集合添加一個(gè)或多個(gè)成員,或者更新已存在成員的分?jǐn)?shù)

ZCARD key獲取有序集合的成員數(shù)

七、主從模式搭建

1.準(zhǔn)備三個(gè)redis服務(wù),依次命名文件夾子master,slave1,slave2.

2.配置文件(redis.conf),我們master使用6000端口。

master配置修改端口:

port 6000

requirepass 123456

slave1修改配置:

port 6001

slaveof 127.0.0.1 6000

masterauth 123456

requirepass 123456

slave2修改配置:

port 6002

slaveof 127.0.0.1 6000

masterauth 123456

requirepass 123456

3.啟動(dòng)

? ? 啟動(dòng)主機(jī)

? ? redis-server redis.conf

? ? 啟動(dòng)從機(jī):

? ? redis-server redis1.conf? ? redis-server redis2.conf

4.驗(yàn)證

master:

[root@localhost master]# redis-cli -p 6000

127.0.0.1:6000> auth 123456

OK

127.0.0.1:6000> set test chenqm

OK

slave1:

[root@localhost slave2]# redis-cli -p 6001

127.0.0.1:6001> auth 123456

OK

127.0.0.1:6001> get test

"chenqm"

slave2:

[root@localhost slave2]# redis-cli -p 6002

127.0.0.1:6002> auth 123456

OK

127.0.0.1:6002> get test

歡迎大家關(guān)注我們的公眾號(hào),一起學(xué)習(xí)、探討

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容