欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Redis介紹和使用場(chǎng)景詳解

 更新時(shí)間:2018年04月27日 16:19:45   作者:光仔December  
這篇文章主要為大家詳細(xì)介紹了Redis介紹和使用場(chǎng)景,需要的朋友可以參考,具體內(nèi)容如下

本篇文章主要介紹了Redis介紹和使用場(chǎng)景,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

(1)持久化數(shù)據(jù)庫(kù)的缺點(diǎn)

平常我們使用的關(guān)系型數(shù)據(jù)庫(kù)有Mysql、Oracle以及SqlServer等,在開(kāi)發(fā)的過(guò)程中,數(shù)據(jù)通常都是通過(guò)Web提供的數(shù)據(jù)庫(kù)驅(qū)動(dòng)來(lái)鏈接數(shù)據(jù)庫(kù)進(jìn)行增刪改查。

那么,我們?nèi)粘J褂玫臄?shù)據(jù)庫(kù)的數(shù)據(jù)都儲(chǔ)存在哪里呢?我們以Mysql為例。
打開(kāi)我們Mysql所在的文件夾目錄下的data文件夾,如下所示:

我們可以發(fā)現(xiàn),里面都是我們創(chuàng)建的數(shù)據(jù)庫(kù),打開(kāi)其中一個(gè),可以看到我們創(chuàng)建的表,他們以文件(格式frm和ibd)的形式存在:

也就是說(shuō),我們?nèi)粘J褂玫年P(guān)系型數(shù)據(jù)中的數(shù)據(jù),全部存儲(chǔ)在我們部署數(shù)據(jù)庫(kù)的機(jī)器的硬盤(pán)中。

一般我們的網(wǎng)站開(kāi)發(fā)完成,上線之后,服務(wù)器的讀寫(xiě)效率是網(wǎng)站運(yùn)行速度的重要條件,當(dāng)然還有服務(wù)器的帶寬等,但是這些東西都可以通過(guò)硬件的更新升級(jí)來(lái)解決。其實(shí)與網(wǎng)站運(yùn)行效率息息相關(guān)的東西,就是我們的------數(shù)據(jù)庫(kù)。

數(shù)據(jù)庫(kù)處理數(shù)據(jù)的速度,與網(wǎng)站速度息息相關(guān),而數(shù)據(jù)查詢、數(shù)據(jù)處理等等,都和數(shù)據(jù)庫(kù)處理速度有關(guān)。提高數(shù)據(jù)庫(kù)的處理數(shù)據(jù)的能力,其中一個(gè)方案就是sql語(yǔ)句的優(yōu)化技術(shù),sql語(yǔ)句寫(xiě)的處理效率比較高,數(shù)據(jù)庫(kù)處理能力就會(huì)上去,而網(wǎng)站的數(shù)據(jù)處理能力也會(huì)快些。

但是,當(dāng)網(wǎng)站的處理和訪問(wèn)量非常大的時(shí)候,我們的數(shù)據(jù)庫(kù)的壓力就變大了,數(shù)據(jù)庫(kù)的連接池,數(shù)據(jù)庫(kù)同時(shí)處理數(shù)據(jù)的能力就會(huì)受到很大的挑戰(zhàn),一旦數(shù)據(jù)庫(kù)承受了其最大承受能力,網(wǎng)站的數(shù)據(jù)處理效率就會(huì)大打折扣。此時(shí)就要使用高并發(fā)處理、負(fù)載均衡和分布式數(shù)據(jù)庫(kù),而這些技術(shù)既花費(fèi)人力,又花費(fèi)資金。

 如果我們的網(wǎng)站不是非常大的網(wǎng)站,而有想要提高網(wǎng)站的效率,降低數(shù)據(jù)庫(kù)的讀寫(xiě)次數(shù),我們就需要引入緩存技術(shù)。

(2)緩存

緩存就是在內(nèi)存中存儲(chǔ)的數(shù)據(jù)備份,當(dāng)數(shù)據(jù)沒(méi)有發(fā)生本質(zhì)改變的時(shí)候,我們就不讓數(shù)據(jù)的查詢?nèi)?shù)據(jù)庫(kù)進(jìn)行操作,而去內(nèi)存中取數(shù)據(jù),這樣就大大降低了數(shù)據(jù)庫(kù)的讀寫(xiě)次數(shù),而且從內(nèi)存中讀數(shù)據(jù)的速度比去數(shù)據(jù)庫(kù)查詢要快一些,這樣同時(shí)又提高了效率。

使用緩存減輕數(shù)據(jù)庫(kù)的負(fù)載:

在開(kāi)發(fā)網(wǎng)站的時(shí)候如果有一些數(shù)據(jù)在短時(shí)間之內(nèi)不會(huì)發(fā)生變化,而它們還要被頻繁訪問(wèn),為了提高用戶的請(qǐng)求速度和降低網(wǎng)站的負(fù)載,就把這些數(shù)據(jù)放到一個(gè)讀取速度更快的介質(zhì)上(或者是通過(guò)較少的計(jì)算量就可以獲得該數(shù)據(jù)),該行為就稱作對(duì)該數(shù)據(jù)的緩存。該介質(zhì)可以是文件/數(shù)據(jù)庫(kù)/內(nèi)存。內(nèi)存經(jīng)常用于數(shù)據(jù)庫(kù)緩存。

緩存的兩種形式:

頁(yè)面緩存經(jīng)常用在CMS(content manage system)內(nèi)存管理系統(tǒng)里面。
數(shù)據(jù)緩存經(jīng)常會(huì)用在頁(yè)面的具體數(shù)據(jù)里面。

緩存分為兩種:

頁(yè)面緩存(smarty靜態(tài)化技術(shù))

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

(3)Redis介紹

我們要學(xué)習(xí)的一個(gè)緩存技術(shù)就是----Redis:

Redis是Remote Dictionary Server(遠(yuǎn)程數(shù)據(jù)服務(wù))的縮寫(xiě),由意大利人antirez(Salvatore Sanfilippo)開(kāi)發(fā)的一款內(nèi)存高速緩存數(shù)據(jù)庫(kù),該軟件使用C語(yǔ)言編寫(xiě),它的數(shù)據(jù)模型為key-value。它支持豐富的數(shù)據(jù)結(jié)構(gòu)(類(lèi)型),比如String/List/Hash/Set/Sorted Set。

可持久化(一邊運(yùn)行,一邊把數(shù)據(jù)往硬盤(pán)中備份一份,防止斷電等情況導(dǎo)致數(shù)據(jù)丟失,等斷電情況恢復(fù)之后,Redis再把硬盤(pán)中的數(shù)據(jù)恢復(fù)到內(nèi)存中),保證了數(shù)據(jù)的安全。

4)redis和memcache比較

1.Redis不僅僅支持簡(jiǎn)單的k/v類(lèi)型的數(shù)據(jù),同時(shí)還提供list,set,zset,hash等數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)。

2.Redis支持master-slave(主-從)模式應(yīng)用。

3.Redis支持?jǐn)?shù)據(jù)持久化,可以將內(nèi)存中的數(shù)據(jù)保持在磁盤(pán)中,重啟的時(shí)候可以再次加載進(jìn)行使用

4.Redis單個(gè)value的最大限制是1GB,memcached只能保存1MB的數(shù)據(jù)。

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • Java設(shè)計(jì)模式七大原則之單一職責(zé)原則詳解

    Java設(shè)計(jì)模式七大原則之單一職責(zé)原則詳解

    單一職責(zé)原則(Single Responsibility Principle, SRP),有且僅有一個(gè)原因引起類(lèi)的變更。簡(jiǎn)單來(lái)說(shuō),就是針對(duì)一個(gè)java類(lèi),它應(yīng)該只負(fù)責(zé)一項(xiàng)職責(zé)。本文將詳細(xì)介紹一下Java設(shè)計(jì)模式七大原則之一的單一職責(zé)原則,需要的可以參考一下
    2022-02-02
  • 淺談Java的兩種多線程實(shí)現(xiàn)方式

    淺談Java的兩種多線程實(shí)現(xiàn)方式

    本篇文章主要介紹了淺談Java的兩種多線程實(shí)現(xiàn)方式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • Java使用dom4j實(shí)現(xiàn)對(duì)xml簡(jiǎn)單的增刪改查操作示例

    Java使用dom4j實(shí)現(xiàn)對(duì)xml簡(jiǎn)單的增刪改查操作示例

    這篇文章主要介紹了Java使用dom4j實(shí)現(xiàn)對(duì)xml簡(jiǎn)單的增刪改查操作,結(jié)合實(shí)例形式詳細(xì)分析了Java使用dom4j實(shí)現(xiàn)對(duì)xml簡(jiǎn)單的增刪改查基本操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2020-05-05
  • Java中ArrayList和LinkedList的遍歷與性能分析

    Java中ArrayList和LinkedList的遍歷與性能分析

    這篇文章主要給大家介紹了ArrayList和LinkedList這兩種list的五種循環(huán)遍歷方式,各種方式的性能測(cè)試對(duì)比,根據(jù)ArrayList和LinkedList的源碼實(shí)現(xiàn)分析性能結(jié)果,總結(jié)結(jié)論。相信對(duì)大家的理解和學(xué)習(xí)具有一定的參考價(jià)值,有需要的朋友們下面跟著小編一起來(lái)學(xué)習(xí)學(xué)習(xí)吧。
    2016-12-12
  • JAVA中通過(guò)自定義注解進(jìn)行數(shù)據(jù)驗(yàn)證的方法

    JAVA中通過(guò)自定義注解進(jìn)行數(shù)據(jù)驗(yàn)證的方法

    java 自定義注解驗(yàn)證可自己添加所需要的注解,下面這篇文章主要給大家介紹了關(guān)于JAVA中通過(guò)自定義注解進(jìn)行數(shù)據(jù)驗(yàn)證的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • Java之String字符串在JVM中的存儲(chǔ)及其內(nèi)存地址的問(wèn)題

    Java之String字符串在JVM中的存儲(chǔ)及其內(nèi)存地址的問(wèn)題

    這篇文章主要介紹了Java之String字符串在JVM中的存儲(chǔ)及其內(nèi)存地址的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Spring @Transactional注解失效解決方案

    Spring @Transactional注解失效解決方案

    這篇文章主要介紹了Spring @Transactional注解失效解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Java設(shè)計(jì)模式中組合模式應(yīng)用詳解

    Java設(shè)計(jì)模式中組合模式應(yīng)用詳解

    組合模式,又叫部分整體模式,它創(chuàng)建了對(duì)象組的數(shù)據(jù)結(jié)構(gòu)組合模式使得用戶對(duì)單個(gè)對(duì)象和組合對(duì)象的訪問(wèn)具有一致性。本文將通過(guò)示例為大家詳細(xì)介紹一下組合模式,需要的可以參考一下
    2022-11-11
  • Java sha1散列算法原理及代碼實(shí)例

    Java sha1散列算法原理及代碼實(shí)例

    這篇文章主要介紹了Java sha1散列算法原理及代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Java使用Sharding-JDBC分庫(kù)分表進(jìn)行操作

    Java使用Sharding-JDBC分庫(kù)分表進(jìn)行操作

    Sharding-JDBC 是無(wú)侵入式的 MySQL 分庫(kù)分表操作工具,本文主要介紹了Java使用Sharding-JDBC分庫(kù)分表進(jìn)行操作,感興趣的可以了解一下
    2021-08-08

最新評(píng)論