- 注意: 撰寫本文目的主要是為了給自己做一個(gè)備忘錄,如果你學(xué)過(guò)Redis并且希望從本文中找到一些忘記的知識(shí)點(diǎn),那么你可以閱讀本文章。由于文章內(nèi)講解并不是很多,因此此文章并不適合小白入門使用。
Redis基礎(chǔ)知識(shí)
Redis:REmoteDIctionaryServer(遠(yuǎn)程字典服務(wù)器)
- Redis是什么?
- 是完全開源免費(fèi)的,用C語(yǔ)言編寫,遵守BSD協(xié)議。
- 是一個(gè)高性能的(key/value)分布式內(nèi)存數(shù)據(jù)庫(kù),基于內(nèi)存運(yùn)行并支持持久化的
NoSQL數(shù)據(jù)庫(kù),是當(dāng)前最熱門的NoSQL數(shù)據(jù)庫(kù)之一,也被人們稱為數(shù)據(jù)結(jié)構(gòu)服務(wù)器。
Redis能干什么?
1.內(nèi)存存儲(chǔ)和持久化:Redis支持異步將內(nèi)存中的數(shù)據(jù)寫到硬盤上,同時(shí)不影響繼續(xù)服務(wù)取最新N個(gè)數(shù)據(jù)的操作。如:可以將最新的10條評(píng)論的ID放在Redis的List集合里面。
2.模擬類似于HttpSession這種需要設(shè)定過(guò)期時(shí)間的功能。
3.發(fā)布、訂閱消息系統(tǒng)。消息隊(duì)列、排行榜、定時(shí)器、計(jì)數(shù)器。
4.發(fā)布、訂閱消息系統(tǒng)。Redis去哪下載
Redis中文網(wǎng)Redis怎么玩?
1.數(shù)據(jù)類型、基本操作和配置
2.持久化和復(fù)制,RDB/AOF
3.事務(wù)的控制
4.復(fù)制
5.......-
最后讓我們來(lái)看一看我們需要了解多少東西
Redis學(xué)習(xí)圖譜
- 注:圖片引用自掘金文章Redis閑談,如有侵權(quán),請(qǐng)聯(lián)系博主刪除。
Redis使用
1.Redis安裝
在此不介紹安裝Redis相關(guān)知識(shí),具體步驟請(qǐng)讀者自行百度查找。(建議使用Linux環(huán)境)。博主在Redis基礎(chǔ)教程系列中所使用的系統(tǒng)環(huán)境是ubantu18.04
2.相關(guān)知識(shí)
- Redis默認(rèn)設(shè)有16個(gè)庫(kù)
- Redis索引都是從0開始
- Redis默認(rèn)端口是6379
3.基礎(chǔ)操作
通過(guò)命令行客戶端訪問Redis
redis-cli
性能測(cè)試
redis-benchmark
切換庫(kù)
select x # x是指要切換到的庫(kù)的id
查看庫(kù)中key的數(shù)量
dbsize
查看庫(kù)中所有的key-value
keys *
模糊查詢
# 查詢'k1','k2','k3'
keys key?
清空庫(kù)中數(shù)據(jù)
flushdb
4.Redis五大數(shù)據(jù)類型
- Redis鍵(key)
- Redis字符串(String)
- Redis列表(List)
- Redis集合(Set)
- Redis哈希(Hash)
- Redis有序集合Zset(sorted set)
String(字符串)
- String是Redis最基本的類型,你可以理解成與Memcached一模一樣的類型,一個(gè)key對(duì)應(yīng)一個(gè)value。
- String類型是二進(jìn)制安全的。意思是Redis的String可以包含任何數(shù)據(jù)。比如jpg圖片或者序列化的對(duì)象。
- String類型是Redis最基本的數(shù)據(jù)類型,一個(gè)Redis中字符串value最多可以是512M。
Hash(哈希)
- Redis hash是一個(gè)鍵值對(duì)集合。
- Redis hash是一個(gè)String類型的field和value的映射表,hash特別適合用于存儲(chǔ)對(duì)象。
- 類似于Java里面的Map<String,Object>
List(列表)
- Redis列表是簡(jiǎn)單的字符串列表,按照插入順序排序。你可以添加一個(gè)元素到列表的頭部(左邊)或者尾部(右邊)。它的底層實(shí)際是個(gè)鏈表
Set(集合)
- Redis的Set是String類型的無(wú)序集合。它是通過(guò)HashTable實(shí)現(xiàn)的。
Zset(sorted set : 有序集合)
- Redis Zset和Set一樣也是String類型元素的集合,且不允許有重復(fù)的成員。
- 不同的是每個(gè)元素都會(huì)關(guān)聯(lián)一個(gè)double類型的分?jǐn)?shù)
- Redis正是通過(guò)分?jǐn)?shù)來(lái)為集合中的成員進(jìn)行從小到達(dá)的排序。Zset的成員是唯一的,但分?jǐn)?shù)(score)卻可以重復(fù)。
5.配置文件
常用配置參數(shù):
- 1.Redis默認(rèn)不是以守護(hù)進(jìn)程的方式運(yùn)行,可以通過(guò)配置項(xiàng)修改,使用yes啟用守線程:
daemonize no - 2.當(dāng)Redis以守護(hù)線程方式運(yùn)行時(shí),Redis默認(rèn)會(huì)把pid寫入/var/run/redis.pid文件,可以通過(guò)pidfile指定:
pidfile /var/run/redis.pid - 3.指定Redis監(jiān)聽端口,默認(rèn)端口為6379,作者在自己的一篇博文中解釋了為什么選用6379作為默認(rèn)端口,因?yàn)?379是手機(jī)按鍵上MERZ對(duì)用的號(hào)碼,而MERZ取自意大利歌女Alessia Merz的名字:
port 6379 - 4.綁定的主機(jī)地址
bind 127.0.0.1 - 5.當(dāng)客戶端閑置多長(zhǎng)時(shí)間后關(guān)閉連接,如果指定為0,表示關(guān)閉該功能:
timeout 300 - 6.指定日志記錄級(jí)別,Redis總共支持四個(gè)級(jí)別:debug、verbose、notice、warning,默認(rèn)為varbose:
loglevel varbose - 7.日志記錄方式,默認(rèn)為標(biāo)準(zhǔn)輸出,如果配置Redis為守護(hù)進(jìn)程方式運(yùn)行,而這里又配置日志記錄方式為標(biāo)準(zhǔn)輸出,則日志將會(huì)發(fā)送給/dev/null:
logfile stdout
文集推薦:
Java基礎(chǔ)方法集1
Python基礎(chǔ)知識(shí)完整版
Spring Boot學(xué)習(xí)筆記
Linux指令進(jìn)階
Java高并發(fā)編程
SpringMVC基礎(chǔ)知識(shí)進(jìn)階
Mysql基礎(chǔ)知識(shí)完整版
健康管理系統(tǒng)學(xué)習(xí)花絮(學(xué)習(xí)記錄)
Node.js基礎(chǔ)知識(shí)(隨手筆記)
MongoDB基礎(chǔ)知識(shí)
Dubbo學(xué)習(xí)筆記
Vue學(xué)習(xí)筆記(隨手筆記)
聲明:發(fā)表此文是出于傳遞更多信息之目的。若有來(lái)源標(biāo)注錯(cuò)誤或侵犯了您的合法權(quán)益,請(qǐng)作者持權(quán)屬證明與本我們(QQ:981086665;郵箱:981086665@qq.com)聯(lián)系聯(lián)系,我們將及時(shí)更正、刪除,謝謝。
