redis 簡單些一點筆記
1:redis是乙個什麼東西哪?
是乙個記憶體資料庫
2:redis有什麼特點哪?
具有記憶體的特點——快、斷電即逝
具有資料的特點——主要用來儲存資料,可以進行對資料的增刪改查
3:我們用redis主要是為什麼哪?畢竟有好多種其他的資料庫了?
我們使用這個東西,核心目標就是為了快,為了提高效能,我們不把他當做資料庫來使用,我們把它當做快取
4:快取是啥玩意?
學習過計算機作業系統的也許都知道快取是什麼東西吧!如果沒有學習過,並在北京工作的話,我想一定做過北京地鐵吧!地鐵上下班高峰的時候,使用圍欄的方式將**攔在列車之外的方式,類極了快取的控制方式!
更通俗一點就是,我們將資料放到執行速度更快的地方,這樣等我們使用的時候就能以更快的速度來獲取了,這個更快的地方就是——快取
5:redis不是記憶體資料庫嗎?怎麼又是快取了哪?
因為他是記憶體資料庫,所以他速度快,並且能存放資料,加上另外乙個特性——資料的過期時間,這樣他就能當做快取來使用了!
6:我們在實際的開發中都是怎麼使用redis這個快取的哪?
我們首先將資料放入資料庫中,然後通過手動或者定時器的方式將我們認為有效的資料放入redis中,並且為其設定乙個過期時間,以後我們的程式依賴資料的時候就直接從快取中獲取!這樣確實能夠使程式的獲取資料的速度變快很多很多的!不信自己試試吧!
7:我們使用快取有什麼需要注意的地方哪?
需要注意的地方估計不少,不過我只能想到以下幾點而已:
1)防止快取出現空檔期,我們重新整理快取的時候應該先加入有效的資料,再刪除無效的資料
2)合理的設計key,因為redis是通過鍵值對來儲存資料的,設計的不好引起鍵的衝突就不好了,為了節省空間,最好長度也要合適才行
3)如果我們的資料獲取全部依賴快取,我們快取必須高可用、高效能、易擴充套件、易維護才行
4)快取的空間是有限的,所以,合適的過期時間以及空間不夠時採用什麼策略丟棄那些資料也挺重要的
5)要考慮好快取不可用了怎麼辦?
redis是乙個開源的c語言編寫,遵守bsd,支援網路,可基於記憶體可持久化的日誌型,key-value資料庫,並提供多種語言api
被稱為資料結構伺服器:因為值(value)可以是字串(string),雜湊(map),列表(list).集合(sets),有序集合(sorted sets)等型別
可以借助視覺化的軟體:redis desktop manager
資料庫事物的一點簡單總結
原子性指事務所包含的所有操作要麼全部成功,要麼全部失敗回滾。一致性是指事務必須使資料庫從乙個一致性狀態改變到另外乙個一致性狀態,也就是說事務執行之前和執行之後都必須處於一致性狀態。隔離性是當多個使用者併發訪問資料庫時,資料庫為每個使用者開啟的事務,不能被其他事務的操作所干擾,多個併發事務之間要互相隔...
資料庫的一點知識
1 儲存過程是一些預編譯的sql語句,直白的理解就是 是乙個記錄集,它是由一些t sql語句組成的 塊,這些t sql語句 像乙個方法一樣實現一些功能 單錶和多表的基本操作 然後再給這個 塊取個名字。2 優點 儲存過程是乙個預編譯的 塊,執行效率比較高 乙個儲存過程替代大量t sql語句 可以降低網...
資料庫構建的一點總結
說實話,做這樣乙個迷你的資料的確沒什麼太大的實際價值,但是還是堅持下來了,隨著 drop index indexname on tablename sql語句的完成,這個爛尾樓似的資料庫也算乙個段落了。其間,經歷了select語句的繁瑣,尤其是多表連線和where的判斷,體驗了底層文 件構建的痛苦。...