Redis學習預習筆記

2021-10-05 20:30:03 字數 1765 閱讀 8440

問題1:檔案放在硬碟中,如果檔案越大,相應的查詢時間也就會越久。

主要的原因是因為io全量掃瞄造成的時間更長(grep awk)

但是在資料庫中的查詢時間更短,主要是因為在資料庫中進行了資料分治,將儲存空間設定成多個datapage,並且在資料庫中可以構建索引,然後做成b+樹,將樹幹存放於記憶體中。

馬士兵老師總結了乙個道理,計算機在進步的過程中,就是在對抗全量io的過程。

問題2:如果資料庫中表很大,有很多行,增刪改查會變慢?對不對?

那麼我們將這個問題拆開看的話,就是說將增刪改查,看成讀和寫;寫一定會變慢,因為寫會涉及到索引的調整;那麼讀就不一定會變慢

如果只有乙個客戶端在進行乙個簡單的查詢,那麼如果索引名中,其實也就兩個4k的datapage的查詢,所以查詢結果也就是毫秒級的

如果併發很大,每個人都命中索引,且讀取的資料不一樣,那麼硬碟的吞吐量就會影響到查詢效果。

所以這裡就引出了redis memcache等技術

在所有的資料中,只有一部分的熱資料會頻繁使用,放在記憶體中,不頻繁訪問的放在硬碟中。

在資料庫中,分為關係型資料庫和非關係型資料庫;

mysql hana等支援sql的複雜查詢,而redis的技術nosql,常見的key-value;在關係型資料庫中,常用詞:約束,正規化,冗餘等!

那非關係型資料庫,做成nosql的,主要防止有約束存在,一張表在記憶體,一張表在硬碟中的情況產生。

在memcache中,只有乙個string型別,如果想取回下表為2的元素,就需要將string的字串取回,然後自行進行反序列化處理,然後取出第二個元素;

在redis有很多資料型別,有sring,list,set,hash,zset資料結構,每種資料結構都有自己的本地方法。那麼如果要取回存放資料中的下表為2的元素,就可以直接使用redis的list型別的資料結構,用本地方法取回元素,並返回。

所以綜上所訴,memcache是資料項計算移動,而redis是計算向資料移動。

在redis中,工作執行緒是單執行緒的,對資料進行序列化處理。

redis安裝

然後tar -zxvf ...tar包,

首先閱讀readme檔案,裡面講了怎麼安裝

error:報錯:cc : commond not found : c語言的編譯器找不到,那麼 :

yum install gcc -y
繼續執行make命令,又會繼續報錯,根據readme,應該執行

make distclean(清除快取)

在原始碼檔案中如果有makefile那麼執行make方法。

如果有ocnfigure方法,那麼執行./configure命令

最後非同步就是執行拷貝過程,

make prefix=(路徑) install .

接下來就是配置環境變數

vi /etc/profile

//加上

export redis_home=/opt/bigdata/redis5

//然後再path加上redis_home 用「 :」隔開

:$redis_home/bin

source /etc/profile

//設定開機自啟

cd utils

./install_server.sh

//預設埠號是:6379

後台服務的指令碼:/etc/init.d

本篇文章是在學習馬士兵老師redis預習課程的時候,記錄的筆記。。。

20190319預習筆記 課堂筆記

chattr change attributes 改變檔案附加屬性 chattr i 1.txt 將1.txt檔案改為唯讀模式 lsattr 檢視附加許可權 chattr可同時作用於檔案和目錄 lsattr a 檢視全部檔案,包括隱藏檔案 d 檢視目錄本身 r 檢視目錄下所有檔案屬性 檢視passw...

編譯技術預習筆記

不確定自己的認真能堅持多久,那麼就為了消除不確定性而多走幾步吧 以完成作業為目標,能夠對照答案,似乎回到了高中開學時最忙碌的時光 控制代碼 2.29 關於什麼是控制代碼,參照如下 採用最左規約,控制代碼是句型的第乙個規約 編譯原理中 短語,直接短語,控制代碼 自底向上語法分析 2.29 3.1 最有...

redis 學習筆記

本文寫作源於最近產品中部分功能用到了redis redis在功能上是乙個與memecache類似的軟體,但它比memecache提供了更強大的功能。redis本質上是乙個key value型別的記憶體資料庫。其value可以是string,list,set,sorted set,hash。很多地方都...