什么!你還不會Redis?跟著我講透Redis【上篇之初識與安裝】

1 NoSQL是什么

1.1 NoSQL數據庫概述

NoSQL(NoSQL = Not Only SQL ),意即”不僅僅是SQL“,泛指非關系型的數據庫
NoSQL 不依賴業務邏輯方式存儲,而以簡單的key-value模式存儲。因此大大的增加了數據庫的擴展能力。

  • 不遵循SQL標準。
  • 不支持ACID
  • 遠超于SQL的性能。
  • 數據無關聯
  • 儲存在內存當中
1.2 NoSQL適用場景
  • 對數據高并發的讀寫
  • 海量數據的讀寫
  • 對數據高可擴展性的
1.3 NoSQL不適用場景
  • 需要事務支持
  • 基于sql的結構化查詢存儲,處理復雜的關系,需要即席查詢
  • 用不著sql的和用了sql也不行的情況,請考慮用NoSql
1.4 常見的非關系型數據庫
  • Redis(數據都在內存中,支持持久化,主要用作備份恢復除了支持簡單的key-value模式,還支持多種數據結構的存儲,比如 list、set、hash、zset等。一般是作為緩存數據庫輔助持久化的數據庫)
  • MongoDB(高性能、開源、模式自由(schema free)的文檔型數據庫數據都在內存中, 如果內存不足,把不常用的數據保存到硬盤雖然是key-value模式,但是對value(尤其是json)提供了豐富的查詢功能支持二進制數據及大型對象可以根據數據的特點替代RDBMS,成為獨立的數據庫。或者配合RDBMS,存儲特定的數據)
1.5 NoSQL的數據結構
  • 鍵值類型(redis)
  • 文檔類型(MongoDB)
  • 列類型(HBase)
  • Graph類型(Neo4j)

2 初識Redis

redis概述

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

特征:

  • 鍵值 (key-value)型,value支持多種不同數據結構,功能豐富、
  • 單線程,每個命令具備原子性
  • 低延遲,速度快(基于內存、I0多路復用、良好的編碼)。
  • 支持數據持久化(Redis會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件。)
  • 支持主從集群、分片集群
  • 支持多語言客戶端

3 Redis安裝

Redis官方網站Redis官方網站
http://redis.iohttp://redis.cn/
安裝版本

6.2.1 for Linux(redis-6.2.1.tar.gz)

安裝步驟
  1. 準備工作:下載安裝最新版的gcc編譯器
  • 安裝C 語言的編譯環境 :yum -y install gcc
  • 測試 gcc版本 :gcc --version
  1. 下載redis-6.2.1.tar.gz放/opt目錄
  2. 解壓:tar -zxvf redis-6.2.1.tar.gz
  3. cd redis-6.2.1
  4. 執行make(只是編譯好)
  5. 如果沒有準備好C語言編譯環境,make 會報錯—Jemalloc/jemalloc.h:沒有那個文件

解決方案:安裝gcc后,運行make distclean,然后再進行make

  1. 在redis-6.2.1目錄下再次執行make命令(只是編譯好)
    在這里插入圖片描述

  2. 跳過make test 繼續執行: make install
    在這里插入圖片描述

安裝目錄

查看默認安裝目錄:/usr/local/bin

redis-benchmark:性能測試工具,可以在自己本子運行,看看自己本子性能如何

redis-check-aof:修復有問題的AOF文件

redis-check-dump:修復有問題的dump.rdb文件

redis-sentinel:Redis集群使用

redis-server:Redis服務器啟動命令

redis-cli:客戶端,操作入口

前臺啟動(不推薦)

前臺啟動,命令行窗口不能關閉,否則服務器停止

在這里插入圖片描述

會阻塞整個會話窗口,窗口關閉或者按下CTRL + C 則Reis停止。不推薦使用。

后臺啟動(推薦)
  1. 備份redis.conf

    • 在/root目錄下創建myredis目錄
    • mkdir myredis
    • 拷貝一份redis.conf到myredis目錄
    • cp /opt/redis-6.2.1/redis.conf /root/myredis
  2. 修改配置

    • daemonize no改成yes(L247)讓服務在后臺啟動(通過\搜索你要修改的配置)
  3. Redis啟動

    • redis-server redis.conf
  4. 通過該命令ps -ef|grep redis,查看redis是否在后臺運行
    在這里插入圖片描述

  5. Redis關閉

    • 單實例關閉:redis-cli shutdown
      在這里插入圖片描述

    • 也可以進入終端后關閉當前實例
      在這里插入圖片描述

    • 多實例時關閉指定實例,指定端口關閉:redis-cli -p 6379 shutdown

redis開機自啟動

我們也可以通過配置來實現開機自啟。
首先,新建一個系統服務文件:

vi /etc/systemd/system/redis.service

內容如下:

[Unit]
Description=redis-server
After=network.target[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /opt/redis-6.2.1/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-cli,使用方式如下:

redis-cli [option] [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的交互控制臺:

在這里插入圖片描述

可以登錄后連接

在這里插入圖片描述

圖形化桌面客戶端

我這邊使用 Another Redis Desktop Manager
image.png
GitHub上的大神編寫了Redis的圖形化桌面客戶端,地址: https://github.com/uglide/RedisDesktopManager

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

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

在這里插入圖片描述

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

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

相關文章

PKG打包sqlite3項目,如何添加node_sqlite3.node依賴

項目地址:https://github.com/helson-lin/pkg_sqlite 在ffandown項目內,由于項目使用了sqlite3,在跨平臺打包的時候,除了本機外其他平臺打包之后運行缺少node_sqlite3.node依賴。 為了解決問題,百度了很久&#xff0c…

構建RESTful API:PHP框架中的實踐與策略

隨著Web服務的興起,RESTful API成為前后端分離架構中的關鍵組件。PHP作為一種廣泛使用的服務器端腳本語言,通過各種現代框架提供了構建RESTful API的強大工具和靈活性。本文將詳細介紹如何在PHP框架中實現RESTful API,探討設計原則、實現步驟…

NLP 相關知識

NLP 相關知識 NLPLLMPrompt ChainingLangChain NLP NLP(Natuarl Language Processing)是人工智能的一個分支,中文名自然語言處理,專注于處理和理解人類使用的自然語言。它涵蓋了多個子領域,如文本分類、情感分析、機器…

思維導圖麒麟liunx系統

系統管理與計劃任 ” 使用at命令提交任務。 6.2.1 at任務概述 6.1.4 定時任務的使用場景 at任務是指使用at命令安排的,只執行一次的任務它允許用戶指定在未來某個特定時間執行命令或腳本定時更新系統軟件包。定時清理系統臨時文件。自動備份文件和數據庫。 at:用于一…

pytorch 源碼閱讀(2)——torch._dynamo.optimize

0 torch._dynamo.optimize(backend, *, nopython, guard_export_fn, guard_fail_fn, disable, dynamic),TorchDynamo 的主入口點 1 參數說明 backend,一般有兩種情況: 一個包含 torch.fx.GraphModule 和 example_inputs,返回一個…

【websocket】websocket網課視頻記錄

僅個人方便回顧。 【WebSocket入門與案例實戰-嗶哩嗶哩】 https://b23.tv/2p1f9t2 課程對應代碼倉庫: https://gitee.com/duoli-java/websocket-demo.git

C++編程(二)引用

文章目錄 一、C中的引用(一)引用1. 語法格式2. 作用3. 注意事項 (二)常引用2. 其他場景 (三)引用和函數結合使用1. 引用可以作為函數的參數2. 引用可以作為函數的返回值 (四)引用和指…

在 C/C++ 中使用 popen去執行linux命令樣例,失敗場景

在 C/C 中使用 popen 函數去執行 Linux 命令是一種常見的方式,但確實存在多種可能導致失敗的場景。以下是一些可能導致 popen 失敗的常見原因和樣例: 命令不存在或路徑錯誤: 如果你嘗試執行的命令不存在于系統的 PATH 環境變量中,…

記因hive配置文件參數運用不當導致 sqoop MySQL導入數據到hive 失敗的案例

sqoop MySQL導入數據到hive報錯 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Hive exited with status 64 報錯解釋: 這個錯誤表明Sqoop在嘗試導入數據到Hive時遇到了問題,導致Hive進程異常退出。狀態碼…

HarmonyOS Next開發學習手冊——通過startAbility拉起文件處理類應用

使用場景 開發者可以通過調用startAbility接口,由系統從已安裝的應用中尋找符合要求的應用來實現打開特定文件的意圖,例如:瀏覽器下應用下載PDF文件,可以調用此接口選擇文件處理應用打開此PDF文件。開發者需要在請求中設置待打開…

三個方法計算兩張圖片的相似度

import cv2 import numpy as np from skimage.metrics import structural_similarity as ssim import osdef is_similar(image1, image2, threshold0.95):對圖像的顏色信息敏感,能快速計算。對圖像的旋轉、縮放等幾何變換不敏感。缺點:對圖像的結構、紋理等信息不敏…

0625_ARM2

練習: 匯編實現1-100累加,結果保存在r0 .text .global _start start:mov r0,#0mov r1,#1b loop loop:add r0,r0,r1add r1,r1,#1cmp r1,#101bne loop .end思維導圖:

C#——SortedList 排序列表詳情

SortedList 排序列表 SortedList 類用來表示鍵/值對的集合,這些鍵/值對按照鍵值進行排序,并且可以通過鍵或索引訪問集合中的各個項。 我們可以將排序列表看作是數組和哈希表的組合,其中包含了可以使用鍵或索引訪問各項的列表。如果您使用索…

tensorflow學習1.3-創建會話,啟動會話

tensorflow學習1.3-創建會話,啟動會話 會話的由來與作用由來作用 會話的定義與結構定義 用法基本用法上下文管理器執行部分計算圖獲取多個結果 總結 練習代碼報錯原因:TensorFlow 2.x中的Eager Execution使用兼容模式來啟用SessionEager Execution和計算…

AI文檔助手:提升文檔處理效率

隨著人工智能技術的飛速發展,AI文檔助手已經成為我們提升工作效率的重要工具。小編就來和大家分享幾款AI文檔助手,它們能夠通過智能化的功能幫助我們快速、準確地完成各種文檔任務。 1.百度文庫AI助手 百度文庫AI助手是百度基于文心一言重構的一站式智能…

全景圖片/老照片/動漫圖片一鍵無損放大與修復

在日常生活中,我們經常使用系統自帶的圖片處理軟件來對圖片進行縮放操作,從而實現放大或縮小圖片。然而,這種方法會帶來一個問題:如果原始圖片較小,放大后會導致精度損失,使圖片變得模糊。 近年來&#xf…

vue uniapp MEQX JWT認證

1.下載依賴 npm install mqttimport * as mqtt from "mqtt/dist/mqtt.min" ? 我是用的uniapp vue3 vite這里嘗試了很多方式,都導入不進去后來我就采用的本地引入方式, 把mqtt.min.js下載到本地然后在index.html 中導入<script src"./MEQX/mqtt.js" typ…

rapidocr-onnxruntime庫及在open-webui上傳PDF 圖像處理 (使用 OCR)應用

背景 rapidocr-onnxruntime是一個跨平臺的OCR庫&#xff0c;基于ONNXRuntime推理框架。 目前已知運行速度最快、支持最廣&#xff0c;完全開源免費并支持離線快速部署的多平臺多語言OCR。 緣起&#xff1a;百度paddle工程化不是太好&#xff0c;為了方便大家在各種端上進行oc…

終極指南:解決iCloud備份錯誤代碼的全面策略

終極指南&#xff1a;解決iCloud備份錯誤代碼的全面策略 在數字化時代&#xff0c;數據安全至關重要。iCloud作為Apple提供的云服務&#xff0c;為我們的iPhone、iPad等設備提供了便捷的數據備份與恢復功能。然而&#xff0c;在使用過程中&#xff0c;我們可能會遇到各種備份錯…

ros,open3d單線激光雷達數據可視化

之前一直嘗試將可視化寫在ros的回調函數中&#xff0c;visualization一直會阻塞進程&#xff0c;換一種方式可以順利實現可視化 import rospy import open3d as o3d import numpy as np from sensor_msgs.msg import LaserScanglobal scan_data scan_data Nonedef callback_l…