【Redis】Redis基礎——Redis的安裝及啟動

一、初識Redis

1. 認識NoSQL

數據結構:對于SQL來說,表是有結構的,如字段約束、字段存儲大小等。

關聯性:SQL 的關聯性體現在兩張表之間可以通過外鍵,將兩張表的數據關聯查詢出完整的數據。

查詢方式:

2. 認識 Redis

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

特征

  1. 鍵值(key-value)型,value支持多種不同數據結構,功能豐富
  2. 單線程,每個命令具備原子性
  3. 低延遲,速度快(基于內存、IO多路復用、良好的編碼)。
  4. 支持數據持久化,定期將數據存入磁盤
  5. 支持主從集群、分片集群(把數據存放在不同的集群中)
  6. 支持多語言客戶端,如 JAVA、Python

3. 安裝Redis及啟動的三種方式

大多數企業都是基于Linux服務器來部署項目,而且Redis官方也沒有提供Windows版本的安裝包。網上找到的window是微軟編寫的。因此這里基于Linux系統來安裝Redis。Redis的官方網站地址:https://redis.io/

3.1. 單機安裝Redis

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

yum install -y gcc tcl

1.2 上傳安裝包至虛擬機任意目錄并解壓。這里我上傳至 /usr/local/src , 解壓命令如下

tar -zxvf redis-6.2.6.tar.gz

1.3 進入解壓后的文件夾

cd redis-6.2.6

?1.4 編譯安裝。make是編譯,make install 是安裝。等待編譯下載完成就安裝好了redis。

make && make install

默認的安裝路徑是在 /usr/local/bin 目錄下,進入該目錄查看有哪些文件

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

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

3.2 啟動Redis的三種方式

方式一:默認方式
redis-server

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

?

方式二:指定配置啟動

如果需要讓redis在后臺運行,需要修改Redis配置文件 redis.conf。配置文件在 /usr/local/src/redis-6.2.6 這個目錄中。

1. 先備份這個配置文件,以防萬一

cp redis.conf redis.conf.bck

?2. 修改redis.conf文件中的一些配置,進入后,輸入/,在輸入內容回車就能搜索到了。

properties
# 允許訪問的地址,默認是127.0.0.1,會導致只能在本地訪問。修改為0.0.0.0 則可以在任意IP訪問,生產環境不要設置為0.0.0.0 。

bind 0.0.0.0

# 守護進程,修改為yes后即可后臺運行

daemonize yes?

# 密碼,設置后訪問Redis必須輸入密碼,這里設置為123456

requirepass 123456

# 日志文件,默認為空,不記錄日志,可以指定日志文件名

logfile "redis.log"

修改上述配置后即可重新啟動redis了。Redis的其它常見配置有:

# 監聽的端口

port 6379

# 工作目錄,默認是當前目錄,也就是運行redis-server時的命令,日志、持久化等文件會保存在這個目錄

dir .

# 數據庫數量,設置為1,代表只使用1個庫,默認有16個庫,編號0~15

databases 1

# 設置redis能夠使用的最大內存

maxmemory 512mb

3. 接下來我們就可以啟動redis了。進入redis安裝目錄?

cd /usr/local/src/redis-6.2.6

啟動redis

# 啟動
redis-server redis.conf

?此時啟動redis后界面沒有任何變化,可以使用如下命令查看后臺運行的服務。

ps -ef | grep redis

停止服務

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

停止服務

redis-cli -u 123456 shutdown

查看進程狀態

ps -ef | grep redis

?殺死進程,kill -9 進程id , 進程id可以在進程狀態中查看

方式三:開機自啟

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

vim /etc/systemd/system/redis.service

2. 添加如下內容

[Unit]
Description=redis-server
After=network.target[Service]
Type=forking
# ExecStart 表示啟動服務,
# /usr/local/bin/redis-server 表示redis-server的位置,
# /usr/local/src/redis-6.2.6/redis.conf 是配置文件目錄
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
PrivateTmp=true[Install]
WantedBy=multi-user.target

3. 重載系統服務

systemctl daemon-reload

4. 設置開機自啟

systemctl enable redis

可以用以下命令來操作redis?

查看redis運行狀態

systemctl status redis

停止 redis

systemctl stop redis

啟動?redis

systemctl start redis

重啟

systemctl restart redis

4. Redis 客戶端

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

4.1?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 123456:指定redis的訪問密碼?

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

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

當然,在連接redis時指定密碼,還能連接后使用 AUTH 指定用戶名和密碼,這里我沒有用戶名,直接指定密碼就好了。

?

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

4.2?圖形化桌面客戶端

GitHub上的大神編寫了Redis的圖形化桌面客戶端,不過該倉庫提供的是RedisDesktopManager的源碼,并未提供windows安裝包。地址:https://github.com/uglide/RedisDesktopManager

在下面這個倉庫可以找到安裝包:

https://github.com/lework/RedisDesktopManager-Windows/releases

下載解壓后得到一個 exe 后綴的可執行文件,傻瓜式安裝即可。下面是連接到Linux中的redis。

?

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

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

相關文章

vuex 是什么?怎么使用?哪種功能場景使用它?

Vuex是Vue.js的狀態管理庫。它可以用來管理應用程序中的共享狀態,并提供了一種集中式的方式來管理狀態的變化。 使用Vuex,首先需要安裝它: npm install vuex --save然后,在Vue應用程序的入口文件中,導入Vuex并在Vue實…

ElK 8 收集 MySQL 慢查詢日志并通過 ElastAlert2 告警至飛書

文章目錄 1. 說明2. 啟個 mysql3. 設置慢查詢4. filebeat 設置5. 觸發慢查詢6. MySQL 告警至飛書 1. 說明 elk 版本:8.15.0 2. 啟個 mysql docker-compose.yml 中 mysql: mysql:# restart: alwaysimage: mysql:8.0.27# ports:# - "3306:3306&q…

PyTorch基本使用-張量的索引操作

在操作張量時,經常要去獲取某些元素進行處理或者修改操作,在這里需要了解torch中的索引操作。 準備數據: data torch.randint(0,10,[4,5]) print(data--->,data)輸出結果: data---> tensor([[3, 9, 4, 0, 5],[7, 5, 9, …

【服務器監控】grafana+Prometheus+node exporter詳細部署文檔

我們在進行測試時,不可能一直手動看著服務器的性能消耗,這時候就需要有個工具替我們監控服務器的性能消耗。這里記錄下grafanaPrometheusnodeExporter的組合用于監控服務器。 簡單介紹: grafana:看板工具,所有采集的…

第十七章 使用 MariaDB 數據庫管理系統

1. 數據庫管理系統 數據庫是指按照某些特定結構來存儲數據資料的數據倉庫。在當今這個大數據技術迅速崛起的年代,互聯網上每天都會生成海量的數據信息,數據庫技術也從最初只能存儲簡單的表格數據的單一集中存儲模式,發展到了現如今存儲海量…

Jenkins授權策略的配置

簡介:在Jenkins中,通過系統管理下的“Manage and Assign Roles”以及“Manage Roles”來配置角色,是實現權限管理的關鍵步驟。以下是關于這兩個功能配置角色時的意義及注意事項的詳細解釋: 一、配置角色的意義 實現權限控制: 通過創建和分配角色,可以精確地控制不同用戶…

centos 7.9 安裝jdk1.8 mysql redis等

環境: centos 7.9 1、安裝OpenJDK 1.8 步驟 1: 更新系統 首先,確保你的系統是最新的,執行以下命令來更新所有軟件包: sudo yum update -y步驟 2: 安裝 OpenJDK 1.8 CentOS 7 默認的包管理器是 yum,你可以通過以下命…

計算機鍵盤的演變 | 鍵盤鍵名稱及其功能 | 鍵盤指法

注:本篇為 “鍵盤的演變及其功能” 相關幾篇文章合輯。 英文部分機翻未校。 The Evolution of Keyboards: From Typewriters to Tech Marvels 鍵盤的演變:從打字機到技術奇跡 Introduction 介紹 The keyboard has journeyed from a humble mechanical…

Methods and Initializers

1 Method Declarations 這回不從comipler開始,從runtime開始。 GC也需要follow 接下來難點在于如何填充這些表 2 Compiling method declarations 難點: 一個類可以聲明任意數量的方法。運行時需要查找并綁定所有這些方法。如果將這些方法都打包到一條…

飛飛5.4游戲源碼(客戶端+服務端+工具完整源代碼+5.3fix+5.4patch+數據庫可編譯進游戲)

飛飛5.4游戲源碼(客戶端服務端工具完整源代碼5.3fix5.4patch數據庫可編譯進游戲) 下載地址: 通過網盤分享的文件:【源碼】飛飛5.4游戲源碼(客戶端服務端工具完整源代碼5.3fix5.4patch數據庫可編譯進游戲) 鏈…

開源C代碼之路:一、Gitee

開源c代碼之路:一,Gitee 前言1、開源項目2、從哪里找?3、舉個例子4、總結: 本系列回顧清單開源代碼示例 前言 從開源開發的角度,由淺入深,一步步初探C語言編程的入門之路。 本篇講解:Gitee 1…

基于協同過濾算法的寵物用品商城的設計與實現(計算機畢業設計)Java Spring 衍生為任何商城系統 畢業論文

系統合集跳轉 源碼獲取鏈接 一、系統環境 運行環境: 最好是java jdk 1.8,我們在這個平臺上運行的。其他版本理論上也可以。 IDE環境: Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以 tomcat環境: Tomcat 7.x,8.x,9.x版本均可 操作系統…

算法-字符串-165.比較版本號

一、題目 二、思路解析 1.思路: 比較的是兩個版本號它們以“.”作為分割的部分的有效值(即數值)是否一致 2.常用方法: 1.s.split("\\規則"),將字符串按參數規則進行分割并存儲在字符串數組中 String[] str …

MySQL(四)--索引

MySQL的服務器,本質是在內存中的,那么所有對數據的CURD操作,全都是在對內存進行操作。 而,提高數據的CURD操作的效率,有兩種方式:1、組織數據的格式(數據結構);2、算法。 而,數據結構,就是索引,即組織數據的格式。 1、沒有索引的問題 索引:提高數據庫的性能,索…

C# (WinForms) 使用 iTextSharp 庫將圖片轉換為 PDF

iTextSharp簡介 iTextSharp 是一個開源的 .NET 庫,主要用于創建和操作 PDF 文檔。它是 iText 的 .NET 版本,iText 是一個廣泛使用的 Java 庫。iTextSharp 繼承了 iText 的核心功能并進行了適應 .NET 平臺的調整。 iTextSharp 的主要功能包括&#xff1a…

ubuntu防火墻設置(四)——iptables語法與防火墻基礎配置

前面介紹的ufw和firewall-config均為iptables的前端, 分別適合個人用戶和服務器網絡管理 下面介紹底層——ipables iptables是一個強大的工具,用于配置Linux系統的防火墻。以下是一些基本的使用方法和示例,幫助您入門: 基本語法 …

【中間件開發】Redis基礎命令詳解及概念介紹

文章目錄 前言一、Redis相關命令詳解及原理1.1 string、set、zset、list、hash1.1.1 string1.1.2 list1.1.3 hash1.1.4 set1.1.5 zset 1.2 分布式鎖的實現1.3 lua腳本解決ACID原子性1.4 Redis事務的ACID性質分析 二、Redis協議與異步方式2.1 Redis協議解析2.1.1 redis pipeline…

力扣每日一題 - 999. 可以被一步捕獲的棋子數

題目 還需要你前往力扣官網查看詳細的題目要求 地址 1.給定一個 8 x 8 的棋盤,只有一個 白色的車,用字符 R 表示。棋盤上還可能存在白色的象 B 以及黑色的卒 p。空方塊用字符 . 表示。2.車可以按水平或豎直方向(上,下,…

[UVM]在UVM環境中加入C++內存模塊

摘要:要在UVM環境中實現一個內存模塊并存入數據,您可以遵循以下步驟。這里會涉及C的內存建模和UVM的SystemVerilog部分的接口。在高層次上,我們將描述如何在C中實現內存模型并通過UVM的DPI接口訪問它。 一、C內存模型 首先,在C中…

學習記錄,正則表達式, 隱式轉換

正則表達式 \\:表示正則表達式 W: 表示一個非字(不是一個字,例如:空格,逗號,句號) W: 多個非字 基本組成部分 1.字符字面量: 普通字符:在正則表達式中,大…