<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      初識 Redis (v6.2) 與桌面客戶端

      Redis介紹

      什么是Redis

      • Redis(Remote Dictionary Server) 是一個使用 C 語言編寫的,開源的(BSD許可)高性能非關系型(NoSQL)的鍵值對數據庫。

      • Redis 可以存儲鍵和五種不同類型的值之間的映射。鍵的類型只能為字符串,值支持五種數據類型:字符串、列表、集合、散列表、有序集合。

      • 與傳統數據庫不同的是 Redis 的數據是存在內存中的,所以讀寫速度非常快,因此 redis 被廣泛應用于緩存方向,每秒可以處理超過 10萬次讀寫操作,是已知性能最快的Key-Value DB。另外,Redis 也經常用來做分布式鎖。除此之外,Redis 支持事務 、持久化、LUA腳本、LRU驅動事件、多種集群方案。

      Redis是一種鍵值型的NoSql數據庫,這里有兩個關鍵字:

      • 鍵值型

      • NoSql

      其中鍵值型,是指Redis中存儲的數據都是以key、value對的形式存儲,而value的形式多種多樣,可以是字符串、數值、甚至json:

      image

      而NoSql則是相對于傳統關系型數據庫而言,有很大差異的一種數據庫。

      認識NoSQL

      NoSql可以翻譯做Not Only Sql(不僅僅是SQL),或者是No Sql(非Sql的)數據庫。是相對于傳統關系型數據庫而言,有很大差異的一種特殊的數據庫,因此也稱之為非關系型數據庫

      結構化與非結構化

      傳統關系型數據庫是結構化數據,每一張表都有嚴格的約束信息:字段名、字段數據類型、字段約束等等信息,插入的數據必須遵守這些約束:

      image

      而NoSql則對數據庫格式沒有嚴格約束,往往形式松散,自由。

      可以是鍵值型:

      image

      也可以是文檔型:

      image

      甚至可以是圖格式:

      image

      關聯和非關聯

      傳統數據庫的表與表之間往往存在關聯,例如外鍵:

      image

      而非關系型數據庫不存在關聯關系,要維護關系要么靠代碼中的業務邏輯,要么靠數據之間的耦合:

      {
        id: 1,
        name: "張三",
        orders: [
          {
             id: 1,
             item: {
      	 id: 10, title: "榮耀6", price: 4999
             }
          },
          {
             id: 2,
             item: {
      	 id: 20, title: "小米11", price: 3999
             }
          }
        ]
      }
      

      此處要維護“張三”的訂單與商品“榮耀”和“小米11”的關系,不得不冗余的將這兩個商品保存在張三的訂單文檔中,不夠優雅。還是建議用業務來維護關聯關系。

      查詢方式

      傳統關系型數據庫會基于Sql語句做查詢,語法有統一標準;

      而不同的非關系數據庫查詢語法差異極大,五花八門各種各樣。

      事務

      傳統關系型數據庫能滿足事務ACID的原則。

      而非關系型數據庫往往不支持事務,或者不能嚴格保證ACID的特性,只能實現基本的一致性。

      總結

      除了上述四點以外,在存儲方式、擴展性、查詢性能上關系型與非關系型也都有著顯著差異,總結如下:

      • 存儲方式
        • 關系型數據庫基于磁盤進行存儲,會有大量的磁盤IO,對性能有一定影響
        • 非關系型數據庫,他們的操作更多的是依賴于內存來操作,內存的讀寫速度會非常快,性能自然會好一些
      • 擴展性
        • 關系型數據庫集群模式一般是主從,主從數據一致,起到數據備份的作用,稱為垂直擴展。
        • 非關系型數據庫可以將數據拆分,存儲在不同機器上,可以保存海量數據,解決內存大小有限的問題。稱為水平擴展。
        • 關系型數據庫因為表之間存在關聯關系,如果做水平擴展會給數據查詢帶來很多麻煩

      認識Redis

      Redis誕生于2009年全稱是Remote Dictionary Server 遠程詞典服務器,是一個基于內存的鍵值型NoSQL數據庫。

      特征

      • 鍵值(key-value)型,value支持多種不同數據結構,功能豐富
      • 單線程,每個命令具備原子性
      • 低延遲,速度快(基于內存、IO多路復用、良好的編碼)。
      • 支持數據持久化
      • 支持主從集群、分片集群
      • 支持多語言客戶端

      Redis優缺點

      優點

      • 讀寫性能優異, Redis能讀的速度是110000次/s,寫的速度是81000次/s。
      • 支持數據持久化,支持AOF和RDB兩種持久化方式。
      • 支持事務,Redis的所有操作都是原子性的,同時Redis還支持對幾個操作合并后的原子性執行。
      • 數據結構豐富,除了支持string類型的value外還支持hash、set、zset、list等數據結構。
      • 支持主從復制,主機會自動將數據同步到從機,可以進行讀寫分離。

      缺點

      • 數據庫容量受到物理內存的限制,不能用作海量數據的高性能讀寫,因此Redis適合的場景主要局限在較小數據量的高性能操作和運算上。
      • Redis 不具備自動容錯和恢復功能,主機從機的宕機都會導致前端部分讀寫請求失敗,需要等待機器重啟或者手動切換前端的IP才能恢復。
      • 主機宕機,宕機前有部分數據未能及時同步到從機,切換IP后還會引入數據不一致的問題,降低了系統的可用性。
      • Redis 較難支持在線擴容,在集群容量達到上限時在線擴容會變得很復雜。為避免這一問題,運維人員在系統上線時必須確保有足夠的空間,這對資源造成了很大的浪費。

      Redis的官方網站地址:https://redis.io/

      安裝Redis

      大多數企業都是基于Linux服務器來部署項目,而且Redis官方也沒有提供Windows版本的安裝包。因此會基于Linux系統來安裝Redis.

      此處選擇的Linux版本為CentOS 7.

      依賴庫

      Redis是基于C語言編寫的,因此首先需要安裝Redis所需要的gcc依賴:

      yum install -y gcc tcl
      

      上傳安裝包并解壓

      然后將課前資料提供的Redis安裝包上傳到虛擬機的任意目錄:

      例如,我放到了/usr/local/src 目錄:

      解壓縮:

      tar -xzf redis-6.2.6.tar.gz
      

      解壓后:

      進入redis目錄:

      cd redis-6.2.6
      

      運行編譯命令:

      make && make install
      

      如果沒有出錯,應該就安裝成功了。

      默認的安裝路徑是在 /usr/local/bin目錄下:

      該目錄已經默認配置到環境變量,因此可以在任意目錄下運行這些命令。其中:

      • redis-cli:是redis提供的命令行客戶端
      • redis-server:是redis的服務端啟動腳本
      • redis-sentinel:是redis的哨兵啟動腳本

      啟動

      redis的啟動方式有很多種,例如:

      • 默認啟動
      • 指定配置啟動
      • 開機自啟

      默認啟動

      安裝完成后,在任意目錄輸入redis-server命令即可啟動Redis:

      redis-server
      

      如圖:

      這種啟動屬于前臺啟動,會阻塞整個會話窗口,窗口關閉或者按下CTRL + C則Redis停止。不推薦使用。

      指定配置啟動

      如果要讓Redis以后臺方式啟動,則必須修改Redis配置文件,就在我們之前解壓的redis安裝包下(/usr/local/src/redis-6.2.6),名字叫redis.conf:

      我們先將這個配置文件備份一份:

      cp redis.conf redis.conf.bck
      

      然后修改redis.conf文件中的一些配置:

      # 允許訪問的地址,默認是127.0.0.1,會導致只能在本地訪問。修改為0.0.0.0則可以在任意IP訪問,生產環境不要設置為0.0.0.0
      bind 0.0.0.0
      # 守護進程,修改為yes后即可后臺運行
      daemonize yes 
      # 密碼,設置后訪問Redis必須輸入密碼
      requirepass 123321
      

      Redis的其它常見配置:

      # 監聽的端口
      port 6379
      # 工作目錄,默認是當前目錄,也就是運行redis-server時的命令,日志、持久化等文件會保存在這個目錄
      dir .
      # 數據庫數量,設置為1,代表只使用1個庫,默認有16個庫,編號0~15
      databases 1
      # 設置redis能夠使用的最大內存
      maxmemory 512mb
      # 日志文件,默認為空,不記錄日志,可以指定日志文件名
      logfile "redis.log"
      

      啟動Redis:

      # 進入redis安裝目錄 
      cd /usr/local/src/redis-6.2.6
      # 啟動
      redis-server redis.conf
      

      停止服務:

      # 利用redis-cli來執行 shutdown 命令,即可停止 Redis 服務,
      # 因為之前配置了密碼,因此需要通過 -u 來指定密碼
      redis-cli -u 123321 shutdown
      

      開機自啟

      我們也可以通過配置來實現開機自啟。

      首先,新建一個系統服務文件:

      vi /etc/systemd/system/redis.service
      

      內容如下:

      [Unit]
      Description=redis-server
      After=network.target
      
      [Service]
      Type=forking
      ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
      PrivateTmp=true
      
      [Install]
      WantedBy=multi-user.target
      

      然后重載系統服務:

      systemctl daemon-reload
      

      現在,我們可以用下面這組命令來操作redis了:

      # 啟動
      systemctl start redis
      # 停止
      systemctl stop redis
      # 重啟
      systemctl restart redis
      # 查看狀態
      systemctl status redis
      

      執行下面的命令,可以讓redis開機自啟:

      systemctl enable redis
      

      Redis桌面客戶端

      安裝完成Redis,我們就可以操作Redis,實現數據的CRUD了。這需要用到Redis客戶端,包括:

      • 命令行客戶端
      • 圖形化桌面客戶端
      • 編程客戶端

      Redis命令行客戶端

      Redis安裝完成后就自帶了命令行客戶端:redis-cli,使用方式如下:

      redis-cli [options] [commonds]
      

      其中常見的options有:

      • -h 127.0.0.1:指定要連接的redis節點的IP地址,默認是127.0.0.1
      • -p 6379:指定要連接的redis節點的端口,默認是6379
      • -a 123321:指定redis的訪問密碼

      其中的commonds就是Redis的操作命令,例如:

      • ping:與redis服務端做心跳測試,服務端正常會返回pong

      不指定commond時,會進入redis-cli的交互控制臺:

      圖形化桌面客戶端

      GitHub上的大神編寫了Redis的圖形化桌面客戶端,地址:https://github.com/uglide/RedisDesktopManager

      不過該倉庫提供的是RedisDesktopManager的源碼,并未提供windows安裝包。

      在下面這個倉庫可以找到安裝包:https://github.com/lework/RedisDesktopManager-Windows/releases

      安裝

      在下載中可以找到Redis的圖形化桌面客戶端:

      解壓縮后,運行安裝程序即可安裝:

      安裝完成后,在安裝目錄下找到rdm.exe文件:

      雙擊即可運行:

      建立連接

      點擊左上角的連接到Redis服務器按鈕:

      在彈出的窗口中填寫Redis服務信息:

      點擊確定后,在左側菜單會出現這個鏈接:

      點擊即可建立連接了。

      Redis默認有16個倉庫,編號從0至15. 通過配置文件可以設置倉庫數量,但是不超過16,并且不能自定義倉庫名稱。

      如果是基于redis-cli連接Redis服務,可以通過select命令來選擇數據庫:

      # 選擇 0號庫
      select 0
      
      posted @ 2023-08-29 16:59  講文張字  閱讀(1042)  評論(0)    收藏  舉報
      返回頂部
      主站蜘蛛池模板: 97人人模人人爽人人少妇| 在线无码免费的毛片视频| 欧美日韩v| 一道本AV免费不卡播放| 万载县| 大又大又粗又硬又爽少妇毛片| 亚洲成av一区二区三区| 亚洲精品不卡无码福利在线观看| 天天爽天天摸天天碰| 禄丰县| 97久久综合亚洲色hezyo| 人妻中文字幕精品一页| 巨胸美乳无码人妻视频漫画| 欧洲性开放老太大| 国产无套护士在线观看| 激情综合色综合久久丁香| 欧美国产精品啪啪| 成人无码午夜在线观看| 欧美激情一区二区三区成人 | 亚洲熟妇国产熟妇肥婆| 欧美日韩亚洲国产| 成av人电影在线观看| 国精品91人妻无码一区二区三区 | 国产激情艳情在线看视频| 大又大又粗又硬又爽少妇毛片| 欧美丰满熟妇性xxxx| 福利一区二区在线播放| 日日爽日日操| 成 人 免费 在线电影| 最新亚洲人成网站在线影院| 国产亚洲精品久久久久婷婷瑜伽| 九九热久久只有精品2| 亚洲不卡一区二区在线看| 国产成人精品aa毛片| 免费观看全黄做爰大片| 国产精品免费视频不卡| 国产精品视频一区二区噜噜| 在线观看亚洲欧美日本| 无码一区二区三区中文字幕| 国产精品亚洲二区亚瑟| 亚洲一区二区av偷偷|