NoSQL(1)

1、簡述redis應用場景

Redis

  • 概念:Redis(Remote Dictionary Server),即遠程字典服務,是用C語言開發的一個開源的高性能鍵值對(key-value)數據庫。
  • 特征:
    1. 數據間沒有必然的聯系
    2. 內部采用單線程機制進行工作
    3. 高性能。官方提供測試數據,50個并發執行100000個請求,讀的速度是110000次/s,寫的速度是81000次/s。
    4. 多數據類型支持:字符串(string)、列表(list)、散列(hash)、集合(set)、有序集合(sorted_set)。
    5. 持久化支持。Redis可以進行災難性恢復,比如突然斷電的情況。通過將內存中的數據保存在磁盤中,重啟的時候可以再次加載進行使用來保證數據的可恢復。
    6. 應用場景:
      • 分布式鎖。
      • 消息隊列。
      • 分布式數據共享,如分布式集群架構中的session分離。
      • 時效性信息控制,如驗證碼控制(比如驗證碼五分鐘之內有效)、投票控制等。
      • 即時信息查詢,如各位排行榜、各類網站訪問統計、公交到站信息、在線人數等。
      • 任務隊列,如秒殺、搶購、購票排隊等。
      • 為熱點數據加速查詢(主要應用場景),如熱點商品、熱點新聞、熱點資訊、推廣類等高訪問量信息等。

2、redis的優點是什么??

1)響應快速

Redis 響應非常快,每秒可以執行大約 110 000 個寫入操作,或者 81 000 個讀操作,其速度遠超數據庫。如果存入一些常用的數據,就能有效提高系統的性能。

2)支持 6 種數據類型

它們是字符串、哈希結構、列表、集合、可排序集合和基數。比如對于字符串可以存入一些?Java?基礎數據類型,哈希可以存儲對象,列表可以存儲 List 對象等。這使得在應用中很容易根據自己的需要選擇存儲的數據類型,方便開發。

對于 Redis 而言,雖然只有 6 種數據類型,但是有兩大好處:一方面可以滿足存儲各種數據結構體的需要;另外一方面數據類型少,使得規則就少,需要的判斷和邏輯就少,這樣讀/寫的速度就更快。

3)操作都是原子的

所有 Redis 的操作都是原子的,從而確保當兩個客戶同時訪問 Redis 服務器時,得到的是更新后的值(最新值)。在需要高并發的場合可以考慮使用 Redis 的事務,處理一些需要鎖的業務。

4)MultiUtility 工具

Redis 可以在如緩存、消息傳遞隊列中使用(Redis 支持“發布+訂閱”的消息模式),在應用程序如 Web 應用程序會話、網站頁面點擊數等任何短暫的數據中使用。

3、使用yum在線安裝redis

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

yum list | grep redis

[root@localhost ~]# yum install redis -y

systemctl enable --now redis 啟動服務并開機自啟動

redis-cli 進

exit? 出


4、源碼安裝redis并配置服務腳本?

下載??? wget -c http://download.redis.io/releases/redis-4.0.1.tar.gz

解壓

安裝

啟動

mkdir -p /etc/redis

cp redis.conf? /etc/redis

sed -i.bak 's/daemonize no/daemonize yes/' /etc/redis/redis.conf

redis-server /etc/redis/redis.conf

登錄

redis-cli

?

源碼配置服務腳本:

1、創建用戶和組

groupadd -g 935 -r redis

useradd -u 935 -g 935 -r -d /var/lib/redis -c 'redis server' -s /sbin/nologin redis

2、修改配置文件/etc/redis/redis.conf

3、創建服務腳本

[root@localhost ~]# vim /usr/lib/systemd/system/redis.service

[Unit]
Description=Redis persistent key-value database
After=network.target

[Service]
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf --supervised systemd
ExecStop=/usr/bin/kill 'pidof redis-server'
Type=notify
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755

[Install]
WantedBy=multi-user.target

?

[root@localhost ~]# ?systemctl daemon-reload

測試

?

5、常用的NoSQL數據庫有那些,列舉不少于3個。

1. In-Memory KV Store : Redis
in memory key-value store,同時提供了更加豐富的數據結構和運算的能力,成功用法是替代memcached,通過checkpoint和commit log提供了快速的宕機恢復,同時支持replication提供讀可擴展和高可用。

2. Disk-Based KV Store: Leveldb
真正基于磁盤的key-value storage, 模型單一簡單,數據量不受限于內存大小,數據落盤高可靠,Google的幾位大神出品的精品,LSM模型天然寫優化,順序寫盤的方式對于新硬件ssd再適合不過了,不足是僅提供了一個庫,需要自己封裝server端。

3. Document Store: Mongodb
分布式nosql,具備了區別mysql的最大亮點:可擴展性。mongodb 最新引人的莫過于提供了sql接口,是目前nosql里最像mysql的,只是沒有ACID的特性,發展很快,支持了索引等特性,上手容易,對于數據量遠超內存限制的場景來說,還需要慎重。

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

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

相關文章

NoSQL(2)

1、string list hash結構中,每個至少完成5個命令,包含插入 修改 刪除 查詢,list 和hash還需要增加遍歷的操作命令 1、 Keys相關的命令操作: (1) 查看key是否存在: EXISTS name #判斷該鍵是…

NoSQL(3)

1、什么是MongoDB ? MongoDB 是由C語言編寫的,是一個基于分布式文件存儲的開源數據庫系統。 在高負載的情況下,添加更多的節點,可以保證服務器性能。 MongoDB 旨在為WEB應用提供可擴展的高性能數據存儲解決方案。 MongoDB 將數據存儲為…

Python二級筆記(1)

操作題 1,寬度為30字符,星號字符填充,居中對齊。如果輸入字符串超30位,則全部輸出。 例如:鍵盤輸入字符串q為‘abcd’,屏幕輸出abcd 代碼: s input(請輸入一個字符串:) print({:*^30}.form…

Python二級筆記(2)

知識點: 1,鏈表可以是線性結構也可以是非線性結構 線性表的鏈式存儲結構稱為線性鏈表;鏈表上一種物理存儲單元上非連續,非順序的存儲結構,數據元素的邏輯順序是通過鏈表中的指針鏈接次序實現的,鏈表可以說…

Python二級筆記(3)

知識點: 1,排序可以在不同的存儲結構上實現,但快速排序法適于順序存儲的線性表,不適用于鏈式存儲的線性表。 堆棧序適用于線性結構,不適用于非線性結構 2,基本路徑測試根據軟件過程性描述中的控制流確定程…

軟件工程學簡述

軟件危機 軟件危機是指計算機軟件的開發和維護過程中所遇到的一系列嚴重問題。(考試中名詞解釋或者選擇題為主) 軟件危機的典型表現 (1)對軟件開發成本和進度的估計常常很不準確。 (2)用戶對“已完成的…

Python二級筆記(4)

知識點&#xff1a; 1&#xff0c;冒泡排序、快速排序、簡單插入排序、簡單選擇排序在最壞情況下比較次數均為n(n-1)/2&#xff0c;堆排序在最壞情況下比較次數為nlog(2↓)n,在最壞情況下希爾排序需要比較的次數是n(↑r)&#xff08;1<r<2&#xff09;。 2&#xff0c;…

Python二級筆記(5)

知識點&#xff1a; 1&#xff0c;樹的度&#xff0c;及樹中存在的最大度數&#xff1b;如樹的度為3&#xff0c;即樹中只存在度為0&#xff0c;1&#xff0c;2&#xff0c;3的結點。 2&#xff0c;設循環隊列的存儲空間為Q&#xff08;1:m&#xff09;,初始狀態為空。在循環…

Qt圖形界面編程入門(1)

一、類和對象 1&#xff0c;面向過程程序設計&#xff08;自頂向下設計&#xff09; 分析出解決問題所需的步驟&#xff0c;然后用函數把這些步驟一一實現&#xff0c;使用的時候一個一個調用 過程式設計對于比較復雜的問題&#xff0c;或是在開發中需求變化比較多的時候&am…

Qt圖形界面編程入門(2)

二&#xff0c;指針和引用 共同點&#xff1a;它們都代表其他變量占據的某一塊內存區&#xff0c;通過指針或引用都可以對他們代表的其他變量進行操作。 以下語句利用指針對變量賦值&#xff1a; int m; int *p; //指針定義 p &m; //將m的內存地址賦給p *p 5;…

Qt圖形界面編程入門(3)

公有成員和私有成員 從訪問權限上分&#xff0c;類的成員又分為&#xff1a;公有成員&#xff08;public&#xff09;、私有成員&#xff08;private&#xff09;和保護成員&#xff08;protected&#xff09;三類。 公有成員用public來說明。這部分成員可以在程序中通過“…

Qt圖形界面編程入門(4)

構造函數和析構函數 構造函數是一個與類同名的特殊的公有成員函數。 創建類對象時構造函數會被調用&#xff0c;且只調用一次/ 構造函數無返回類型。 默認構造函數格式&#xff1a; 類名&#xff08;&#xff09;{.......} Account(){ //無返回類型&#xff0c;無參數I…

Qt圖形界面編程入門(5)

三&#xff0c;繼承和多態 繼承是定義新類的一種機制&#xff0c;使用這種機制創建新類時只需要聲明新類和已創建類之間的差別 對應一個繼承關系&#xff0c;創建的新類稱為子類&#xff0c;被繼承的類稱為父類或基類。子類可以使用父類定義的屬性和方法&#xff0c;也可以…

tensorflow安裝教程

https://note.youdao.com/ynoteshare1/index.html?iddddc63e6a2dfb70605ae9753bcc71a60&typenote 如果失效請下載文件查看&#xff1a; 鏈接&#xff1a;https://pan.baidu.com/s/15FZETB3rzcpH-LOOpmpjTQ 提取碼&#xff1a;6jfm 如果安裝包找不到請點擊鏈接提取&am…

TensorFlow深度學習應用開發實戰(深度學習簡介和開發環境搭建)

一、深度學習的發展及其應用 1.1 深度學習的發展歷程 1956年&#xff0c;John McCarthy&#xff08;約翰麥卡錫&#xff09;等人在美國達特茅斯學院&#xff08;Dartmounth College&#xff09;開會探討如何使用機器模擬人的智能時&#xff0c;提出了“人工智能”這一概念。 …

路由與交換技術(鋪墊內容)

一、OSI參考模型 層次 結構 功能 數據 地址 設備 7 應用層 用戶接口 原始文件 主機名 主機 6 表示層 壓縮&a…

Python二級筆記(6)

一、知識點 1&#xff0c;continue語句用于中斷本次循環的執行&#xff0c;繼續執行下一輪循環的條件&#xff0c;表示跳出當前循環&#xff1b;Python中的for、while循環都有一個可選的else語句&#xff0c;如果break語句終止循環&#xff0c;那么else語句將不會執行。 2&am…

瀑布模型、快速原型模型、增量模型、螺旋模型、噴泉模型

一、瀑布模型 1、按照傳統的瀑布模型開發軟件&#xff0c;有下述幾個特點。 ①階段間具有順序性和依賴性 階段間具有順序性和依賴性&#xff0c;這個特點有兩重含義&#xff1a; 1&#xff0c;必須等前一階段的工作完成之后&#xff0c;才能開始后一階段的工作&#xff1b;…

Linux基礎命令(1)

1.強大好用的Shell Shell是一個命令工具。Shell&#xff08;也稱終端或殼&#xff09;充當的是人與內核&#xff08;硬件&#xff09;之間的翻譯官&#xff0c;用戶把一些命令“告訴”終端&#xff0c;它會調用相應的程序服務去完成某些工作。 現在紅帽系統在內的許多主流Lin…

Python二級筆記(7)

知識點&#xff1a; 1&#xff0c;鏈式存儲結構既可以針對線性結構也可以針對非線性結構&#xff0c;鏈式存儲結構中每個結點都由數據域與指針域兩部分組成&#xff0c;增加了存儲空間。 2&#xff0c;對象的基本特點&#xff1a;標識唯一性&#xff0c;分類性&#xff0c;多…