• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • 01 Redis 簡介與基本操作(Redis 基礎篇)

    標簽: Redis  redis  數據庫  nosql

    01 Redis 簡介與基本操作

    1 Redis 簡介

    1.1 問題引出

    1. 問題現象

      大型網站比如12306、淘寶、京東在特殊情況(海量用戶高并發)下存在崩潰的現象

    2. 罪魁禍首——關系型數據庫

      ① 性能瓶頸:磁盤IO性能低下

      ② 擴展瓶頸:數據關系復雜,擴展性差,不便于大規模集群

    3. 解決思路

      ① 降低磁盤IO次數,越低越好 —— 內存存儲

      ② 去除數據間關系,越簡單越好 —— 不存儲關系,僅存儲數據

      ===> NoSQL

    1.2 NoSQL

    1. 什么是 NoSQL?

      NoSQL:即 Not-Only SQL( 泛指非關系型的數據庫),作為關系型數據庫的補充。

    2. NoSQL 有什么用?

      應對基于海量用戶海量數據前提下的數據處理問題

    3. NoSQL 的特征

      ① 可擴容,可伸縮

      ② 大數據量下高性能

      ③ 靈活的數據模型(針對不同的數據類型,有不同的數據結構存儲)

      ④ 高可用

    4. 常見的 NoSQL 數據庫

      Redis

      ② memcache

      ③ HBase

      ④ MongoDB

    1.3 不同解決方案對應的應用場景(電商為例)

    1. 商品基本信息

      ① 名稱

      ② 價格

      ③ 廠商

      此類信息基本固定,唯一一份,通常存在 MySQL

    2. 商品附加信息

      ① 描述

      ② 詳情

      ③ 評論

      同樣商品在不同商家的描述、評論信息往往不同,此類信息的訪問需要一定性能,通常存在用來做文檔處理的 MongoDB

    3. 圖片信息

      一般放到分布式文件系統

    4. 搜索關鍵字

      ES、Lucene、solr

    5. 熱點信息

      ① 高頻

      ② 具有波動性

      上述信息都有可能是熱點信息,通常放在Redis、memcache、tair

    在這里插入圖片描述

    1.4 Redis 基本介紹

    1. 概念:Redis (REmote DIctionary Server) 是用 C 語言開發的一個開源的高性能鍵值對(key-value)數據庫

    2. 特征

      ① 數據間沒有必然的關聯關系

      ② 內部采用單線程機制進行工作

      ③ 高性能。官方提供測試數據,50個并發執行100000 個請求,讀的速度是110000 次/s,寫的速度是81000次/s。

      ④ 多數據類型支持

      • 字符串類型 string
      • 列表類型 list
      • 散列類型 hash
      • 集合類型 set
      • 有序集合類型 sorted_set

      ⑤ 持久化支持。可以進行數據災難恢復

    3. redis 的應用

      • 為熱點數據加速查詢(主要場景),如熱點商品、熱點新聞、熱點資訊、推廣類等高訪問量信息等
      • 任務隊列,如秒殺、搶購、購票排隊等
      • 即時信息查詢,如各位排行榜、各類網站訪問統計、公交到站信息、在線人數信息(聊天室、網站)、設備信號等
      • 時效性信息控制,如驗證碼控制、投票控制等
      • 分布式數據共享,如分布式集群架構中的 session 分離
      • 消息隊列
      • 分布式鎖

    2 Redis 的下載、安裝與啟動

    2.1 Redis 的下載

    1. Linux 版(適用于企業級開發)

      ① Redis 高級開始使用

      ② 以4.0 版本作為主版本

    2. Windows 版本

      ① Redis 入門使用

      ② 以 3.2 版本作為主版本

      ③ 下載地址:https://github.com/MSOpenTech/redis/tags

    2.2 安裝 Redis

    下載解壓即可

    在這里插入圖片描述

    2.3 啟動 Redis

    1. 服務器啟動

      ① redis-server.exe

      ② 或者 cmd 啟動

      端口號:6379

      PID:隨機生成

    在這里插入圖片描述

    1. 客戶端連接

      ① redis-cli.exe

      ② 或者 cmd 啟動

    3 Redis 的基本操作

    3.1 命令行模式工具需要掌握的四種指令

    1. 功能性命令
    2. 清除屏幕信息
    3. 幫助信息查閱
    4. 退出指令

    3.2 信息添加

    1. 功能:設置 key,value 數據

    2. 命令

      set key value
      
    3. 例子

      set name dog
      

    3.3 信息查詢

    1. 功能:根據 key 查詢對應的value,如果不存在,返回空(nil)

    2. 命令

      get key
      
    3. 例子

      get name
      

    3.4 清除屏幕信息

    1. 功能:清除屏幕中的信息

    2. 命令

      clear
      

    3.5 退出客戶端命令行模式

    1. 功能:退出客戶端

    2. 命令

      quit
      exit
      <ESC>
      

    3.6 幫助

    1. 功能:獲取命令幫助文檔,獲取組中所有命令信息名稱

    2. 命令

      help 命令名稱
      help @組名
      

    在這里插入圖片描述
    在這里插入圖片描述

    版權聲明:本文為qq_38650754原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/qq_38650754/article/details/109729091

    智能推薦

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    Linux C系統編程-線程互斥鎖(四)

    互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...

    統計學習方法 - 樸素貝葉斯

    引入問題:一機器在良好狀態生產合格產品幾率是 90%,在故障狀態生產合格產品幾率是 30%,機器良好的概率是 75%。若一日第一件產品是合格品,那么此日機器良好的概率是多少。 貝葉斯模型 生成模型與判別模型 判別模型,即要判斷這個東西到底是哪一類,也就是要求y,那就用給定的x去預測。 生成模型,是要生成一個模型,那就是誰根據什么生成了模型,誰就是類別y,根據的內容就是x 以上述例子,判斷一個生產出...

    styled-components —— React 中的 CSS 最佳實踐

    https://zhuanlan.zhihu.com/p/29344146 Styled-components 是目前 React 樣式方案中最受關注的一種,它既具備了 css-in-js 的模塊化與參數化優點,又完全使用CSS的書寫習慣,不會引起額外的學習成本。本文是 styled-components 作者之一 Max Stoiber 所寫,首先總結了前端組件化樣式中的最佳實踐原則,然后在此基...

    猜你喜歡

    基于TCP/IP的網絡聊天室用Java來實現

    基于TCP/IP的網絡聊天室實現 開發工具:eclipse 開發環境:jdk1.8 發送端 接收端 工具類 運行截圖...

    19.vue中封裝echarts組件

    19.vue中封裝echarts組件 1.效果圖 2.echarts組件 3.使用組件 按照組件格式整理好數據格式 傳入組件 home.vue 4.接口返回數據格式...

    劍指Offer39-調整數組順序使奇數位于偶數前面

    一開始想著用冒泡排序的方法來做,但是bug還是很多,后來看了評論區答案,發現直接空間換時間是最簡單的,而且和快排的寫法是類似的。...

    【一只蒟蒻的刷題歷程】【藍橋杯】歷屆試題 九宮重排 (八數碼問題:BFS+集合set)

    資源限制 時間限制:1.0s 內存限制:256.0MB 問題描述 如下面第一個圖的九宮格中,放著 1~8 的數字卡片,還有一個格子空著。與空格子相鄰的格子中的卡片可以移動到空格中。經過若干次移動,可以形成第二個圖所示的局面。 我們把第一個圖的局面記為:12345678. 把第二個圖的局面記為:123.46758 顯然是按從上到下,從左到右的順序記錄數字,空格記為句點。 本題目的任務是已知九宮的初態...

    dataV組件容器寬高發生變化后,組件不會自適應解決方法

    項目中需要大屏幕數據展示,于是使用了dataV組件,但是使用是發現拖動瀏覽器邊框,dataV組件顯示異常,如圖: 于是查了官網,官網的解釋如下:   于是按照官網的意思編寫代碼: 于是可以自適應了...

    精品国产乱码久久久久久蜜桃不卡