redis——NOSQL及redis概述

NoSql入門概述

單機Mysql的美好時代

瓶頸:

    1. 數據庫總大小一臺機器硬盤內存放不下
    2. 數據的索引(B + tree)一個機器的運行內存放不下
    3. 訪問量(讀寫混合)一個實例不能承受

?

Memcached(緩存)+ MySql + 垂直拆分

通過緩存來緩解數據庫的壓力,優化數據庫的結構和索引

垂直拆分指的是:分成多個數據庫存儲數據(如:賣家庫與買家庫)

?

MySql主從復制讀寫分離

  1. 主從復制:主庫來一條數據,從庫立刻插入一條。
  2. 讀寫分離:讀取(從庫Master),寫(主庫Slave)

?

分表分庫+水平拆分+MySql集群

  1. 主庫的寫壓力出現瓶頸(行鎖InnoDB取代表鎖MyISAM)
  2. 分庫:根據業務相關緊耦合在同一個庫,對不同的數據讀寫進行分庫(如注冊信息等不常改動的冷庫與購物信息等熱門庫分開)
  3. 分表:切割表數據(例如90W條數據,id 1-30W的放在A庫,30W-60W的放在B庫,60W-90W的放在C庫)

?

MySql擴展的瓶頸

  1. 大數據下IO壓力大
  2. 表結構更改困難

常用的Nosql

Redis
memcache
Mongdb
以上幾種Nosql 請到各自的官網上下載并參考使用

Nosql 的核心功能點

KV(存儲)
Cache(緩存)
Persistence(持久化)
……

大數據時代的3V

海量Volume
多樣Variety
實時Velocity
互聯網需求的3高

高并發
高可擴
高性能
?

redis的介紹和特點:


? ? ? ?問題:
? ? ? ? ? ? ? ?傳統數據庫:持久化存儲數據。
? ? ? ? ? ? ? ?solr索引庫:大量的數據的檢索。
? ? ? ? ? ? ? ?在實際開發中,高并發環境下,不同的用戶會需要相同的數據。因為每次請求,
? ? ? ? ? ? ? ?在后臺我們都會創建一個線程來處理,這樣造成,同樣的數據從數據庫中查詢了N次。
? ? ? ? ? ? ? ?而數據庫的查詢本身是IO操作,效率低,頻率高也不好。
? ? ? ? ? ? ? ?總而言之,一個網站總歸是有大量的數據是用戶共享的,但是如果每個用戶都去數據庫查詢
? ? ? ? ? ? ? ?效率就太低了。
? ? ? ?解決:
? ? ? ? ? ? ? ?將用戶共享數據緩存到服務器的內存中。 ? ? ? ?
? ? ? ?實現:
? ? ? ? ? ? ? ?redis
? ? ? ?概念:
? ? ? ? ? ? ? ?redis是一個非關系型C語言開發的基于鍵值對的數據庫
? ? ? ?特點:
? ? ? ? ? ? ? ?1、基于鍵值對
? ? ? ? ? ? ? ?2、非關系型(redis)
? ? ? ? ? ? ? ? ? ? ? ?關系型數據庫:存儲了數據以及數據之間的關系,oracle,mysql
? ? ? ? ? ? ? ? ? ? ? ?非關系型數據庫:存儲了數據,redis,mdb.
? ? ? ? ? ? ? ?3、數據存儲在內存中,服務器關閉后,持久化到硬盤中
? ? ? ? ? ? ? ?4、支持主從同步
? ? ? ?總結:
? ? ? ? ? ? ? ?實現了緩存數據和項目的解耦。
? ? ? ?數據類型:
? ? ? ? ? ? ? ?String
? ? ? ? ? ? ? ?list
? ? ? ? ? ? ? ?set
? ? ? ? ? ? ? ?sortedset
? ? ? ? ? ? ? ?hash
? ? ? ?redis存儲的數據特點:
? ? ? ? ? ? ? ?大量數據
? ? ? ? ? ? ? ?用戶共享數據
? ? ? ? ? ? ? ?數據不經常修改。
? ? ? ? ? ? ? ?查詢數據
? ? ? ?redis的應用場景:
? ? ? ? ? ? ? ?網站高并發的主頁數據
? ? ? ? ? ? ? ?網站數據的排名
? ? ? ? ? ? ? ?消息訂閱


? ? ? ? ? ? ? ?
? ? ? ?
?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/445284.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/445284.shtml
英文地址,請注明出處:http://en.pswp.cn/news/445284.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python(17)-元組tuple

高級數據類型--元組1.元組的定義2.元組基本操作3.元組的循環遍歷4.元組的應用場景5.元組與格式化字符串6.元組與列表之間的轉換元組的最大特征就是可訪問不可改,可作為字典的鍵值,因為鍵值必須是唯一的。字符串也是不可邊類型,因此也適合做字…

深度學習(莫煩 神經網絡 lecture 3) Keras

神經網絡 & Keras 目錄 神經網絡 & Keras目錄1、Keras簡介1.1 科普: 人工神經網絡 VS 生物神經網絡1.2 什么是神經網絡 (Neural Network)1.3 神經網絡 梯度下降1.4 科普: 神經網絡的黑盒不黑1.5 Why Keras?1.6 兼容 backend 2、如何搭建各種神經網絡2.1 Regressor回歸…

阿里Java編程規約(集合)

【強制】關于 hashCode 和 equals 的處理,遵循如下規則: 1) 只要覆寫 equals,就必須覆寫 hashCode。 2) 因為 Set 存儲的是不重復的對象,依據 hashCode 和 equals 進行判斷,所以 Set 存儲的對…

Pytorch(3)-數據載入接口:Dataloader、datasets

pytorch數據載入1.數據載入概況Dataloader 是啥2.支持的三類數據集2.1 torchvision.datasets.xxx2.2 torchvision.datasets.ImageFolder2.3 寫自己的數據類,讀入定制化數據2.3.1 數據類的編寫map-style范式iterable-style 范式2.3.2 DataLoader 導入數據類1.數據載入…

阿里Java編程規約(控制語句)

【強制】在一個 switch 塊內,每個 case 要么通過 continue/break/return 等來終止,要么 注釋說明程序將繼續執行到哪一個 case 為止;在一個 switch 塊內,都必須包含一個 default 語句并且放在最后,即使它什么代碼也沒…

大數據學習(5)-- NoSQL數據庫

文章目錄目錄1.NoSQL的介紹2.NoSQL產生的原因2.1 web2.02.2 NoSQL興起原因3.NoSQL和關系數據庫的區別4.NoSQL的四大類型4.1 鍵值數據庫4.2 列族數據庫4.3 文檔數據庫4.4 圖形數據庫4.5 不同類型的NoSQL數據庫進行比較5.NoSQL的三大基石5.1 CAP5.2 base5.3 最終一致性6.從NoSQL到…

經典算法重點總結

文章目錄排序算法冒泡排序直接插入排序希爾排序直接選擇排序快速排序堆排序歸并排序總結查找算法順序查找二分查找插值查找斐波那契查找樹表查找分塊查找哈希查找總結排序算法 冒泡排序 void bubbleSort(int a[] , int n){for(int i n-1 ; i > 0 ; i--){for(int j 0 ; j …

Python(18)-字典dictionary、集合

Python高級數據類型-字典1.字典的定義2.字典的基本操作:查詢,增加,修改,獲取3.字典的統計、合并、清空4.字典的循環遍歷5.返回最大“值”對應的“鍵”6.應用場景pop(key)7.集合字典是除了列表之外最靈活的數據類型,用來描述一個物…

redis——Redis中的LRU算法改進

redis通常使用緩存,是使用一種固定最大內存的使用。當數據達到可使用的最大固定內存時,我們需要通過移除老數據來獲取空間。redis作為緩存是否有效的重要標志是如何尋找一種好的策略:刪除即將需要使用的數據是一種糟糕的策略,而刪…

redis——HyperLogLog

HyperLogLog 是一種概率數據結構,用來估算數據的基數。數據集可以是網站訪客的 IP 地址,E-mail 郵箱或者用戶 ID。 基數就是指一個集合中不同值的數目,比如 a, b, c, d 的基數就是 4,a, b, c, d, a 的基數還是 4。雖然 a 出現兩次…

機器學習知識總結系列-機器學習中的優化算法總結(1-4)

文章目錄1.梯度下降1.1批量梯度下降(BGD)1.2隨機梯度下降(SGD)1.3 小批量隨機梯度下降(MSGD)1.4 比較:1.5 動量算法(momentum)1.6 Nestrov Momentum2. 自適應方法2.1 自適應學習率算法&#xff…

Python(19)-字符串、Unicode字符串

高級數據類型--字符串、Unicode字符串1.字符串的定義2.字符串的長度、計數、Index3.字符串常用方法3.1判斷類型3.2查找和替換3.3文本對齊3.4去除空白字符.strip()4.字符串的拆分和拼接5.字符串的切片6.跨行字符串7.包含轉義字符r8.字符串的分割與連接9.Unicode字符串字符串-不變…

機器學習中的距離和損失函數

文章目錄13.1 距離度量13.2 損失函數13.1 距離度量 距離函數種類:歐式距離、曼哈頓距離、明式距離(閔可夫斯基距離)、馬氏距離、切比雪夫距離、標準化歐式距離、漢明距離、夾角余弦等常用距離函數:歐式距離、馬氏距離、曼哈頓距離…

Python(20)-高級數據類型的公共方法

高級數據類型的公共方法1內置函數2高級數據類型切片3運算符,*,in4完整的for循環公共方法是列表,元組,字典,字符串都能使用的方法1內置函數 內置函數:不需要import導入模塊,就可以直接使用的函數…

redis——為什么選擇了跳表而不是紅黑樹?

跳表是個啥東西請看這個文章。 我們知道,節點插入時隨機出一個層數,僅僅依靠一個簡單的隨機數操作而構建出來的多層鏈表結構,能保證它有一個良好的查找性能嗎?為了回答這個疑問,我們需要分析skiplist的統計性能。 在…

機器學習公式推導

文章目錄線性回歸邏輯回歸線性判別分析PCAk-means決策樹svm隨機深林GBDTxgboost強化學習MapReduce線性回歸 邏輯回歸 對于分類問題:輸出0/1,超過[0,1]沒有意義,使用sigmoid函數 **代價函數:**使用L2平方差,由于模型函…

Python綜合應用(1)--名片管理系統開發

第一個綜合應用-名片管理系統1框架搭建2完善功能綜合應用,名片管理系統 歡迎界面,不同選項,1.新建名片,2.顯示全部,3 查詢名片(查到之后可以修改名片信息),0 退出系統 程序開發流程…

springboot1——spring相關入門

spring 隨著我們開發,發現了一個問題: A---->B---->C---->D 在A中創建B的對象調用B的資源 在B中創建C的對象調用C的資源 在C中創建D的對象調用…

大數據學習(06)-- 云數據庫

文章目錄目錄1.什么是云數據庫?1.1 云計算和云數據庫的關系1.2 云數據庫的概念1.3 云數據庫的特性1.4 云數據庫應用場景1.5 云數據庫和其他數據的關系2.云數據庫產品有哪些?2.1 云數據庫廠商概述2.2 亞馬遜云數據庫產品2.3 Google云數據庫產品2.4 微軟云…

Python(21)--變量進階

變量的進階使用1變量引用2可變、不可變數據類型3局部變量和全局變量4.Tips本系列博文來自學習《Python基礎視頻教程》筆記整理,視屏教程連接地址:http://yun.itheima.com/course/273.html在博文:https://blog.csdn.net/sinat_40624829/articl…