Redis基礎(chǔ)知識(shí)1-入門

  • 注意: 撰寫本文目的主要是為了給自己做一個(gè)備忘錄,如果你學(xué)過(guò)Redis并且希望從本文中找到一些忘記的知識(shí)點(diǎn),那么你可以閱讀本文章。由于文章內(nèi)講解并不是很多,因此此文章并不適合小白入門使用。

Redis基礎(chǔ)知識(shí)

Redis: REmote DIctionary Server(遠(yuǎn)程字典服務(wù)器)

  • Redis是什么?
  1. 是完全開源免費(fèi)的,用C語(yǔ)言編寫,遵守BSD協(xié)議。
  2. 是一個(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í)更正、刪除,謝謝。

最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文為筆者對(duì)在學(xué)習(xí)Redis過(guò)程中所收集資料的一個(gè)總結(jié),目的是為了以后方便回顧相關(guān)的知識(shí),大部分為非原創(chuàng)內(nèi)容。特此...
    EakonZhao閱讀 14,635評(píng)論 0 9
  • Redis的內(nèi)存優(yōu)化 聲明:本文內(nèi)容來(lái)自《Redis開發(fā)與運(yùn)維》一書第八章,如轉(zhuǎn)載請(qǐng)聲明。 Redis所有的數(shù)據(jù)都...
    meng_philip123閱讀 19,075評(píng)論 2 29
  • 原帖地址:http://www.itdecent.cn/p/2f14bc570563 redis概述 Redis...
    onlyHalfSoul閱讀 2,229評(píng)論 0 28
  • 參考來(lái)源 Redis的內(nèi)存優(yōu)化 Redis所有的數(shù)據(jù)都在內(nèi)存中,而內(nèi)存又是非常寶貴的資源。對(duì)于如何優(yōu)化內(nèi)存使用一直...
    秦漢郵俠閱讀 1,371評(píng)論 0 2
  • Redis是啥 Redis是一個(gè)開源的key-value存儲(chǔ)系統(tǒng),由于擁有豐富的數(shù)據(jù)結(jié)構(gòu),又被其作者戲稱為數(shù)據(jù)結(jié)構(gòu)...
    一凡呀閱讀 1,237評(píng)論 0 5

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