Redis小白入門教程

Redis入門教程

  • 1. Redis入門
    • 1.1 Redis簡介
    • 1.2 Redis服務啟動與停止
      • 1.2.1 Redis下載
      • 1.2.2 服務啟動命令
      • 1.2.3 客戶端連接命令
      • 1.2.4 修改Redis配置文件
  • 2. Redis數據類型
    • 2.1 五種常用數據類型介紹
      • 2.1.1 字符串操作命令
      • 2.1.2 哈希操作命令
      • 2.1.3 列表操作命令
      • 2.1.4 集合操作命令
      • 2.1.5 有序集合操作命令
      • 2.1.6 通用命令
    • 2.2 各種數據類型特點

1. Redis入門

1.1 Redis簡介

Redis是一個基于內存的key-value結構數據庫。Redis 是互聯網技術領域使用最為廣泛的存儲中間件

官網:https://redis.io
中文網:https://www.redis.net.cn/

主要特點:

  • 基于內存存儲,讀寫性能高
  • 適合存儲熱點數據(熱點商品、資訊、新聞)
  • 企業應用廣泛

Redis是用C語言開發的一個開源的高性能鍵值對(key-value)數據庫,官方提供的數據是可以達到100000+的QPS(每秒內查詢次數)。它存儲的value類型比較豐富,也被稱為結構化的NoSql數據庫。

NoSql(Not Only SQL),不僅僅是SQL,泛指非關系型數據庫。NoSql數據庫并不是要取代關系型數據庫,而是關系型數據庫的補充。

關系型數據庫(RDBMS):

  • Mysql
  • Oracle
  • DB2
  • SQLServer

非關系型數據庫(NoSql):

  • Redis
  • Mongo db
  • MemCached

1.2 Redis服務啟動與停止

1.2.1 Redis下載

Redis安裝包分為windows版和Linux版:

  • Windows版下載地址:https://github.com/microsoftarchive/redis/releases
  • Linux版下載地址: https://download.redis.io/releases/

在Windows中安裝Redis(項目中使用)

Redis的Windows版屬于綠色軟件,直接解壓即可使用,解壓后目錄結構如下:

在這里插入圖片描述

1.2.2 服務啟動命令

redis-server.exe redis.windows.conf

Redis服務默認端口號為 6379 ,通過快捷鍵Ctrl + C 即可停止Redis服務。當Redis服務啟動成功后,可通過客戶端進行連接。

在這里插入圖片描述

1.2.3 客戶端連接命令

redis-cli.exe

在這里插入圖片描述

通過redis-cli.exe命令默認連接的是本地的redis服務,并且使用默認6379端口。也可以通過指定如下參數連接:

  • -h ip地址
  • -p 端口號
  • -a 密碼(如果需要)

1.2.4 修改Redis配置文件

設置Redis服務密碼,修改redis.windows.conf

requirepass 123456

注意:

  • 修改密碼后需要重啟Redis服務才能生效
  • Redis配置文件中 # 表示注釋

重啟Redis后,再次連接Redis時,需加上密碼,否則連接失敗。

redis-cli.exe -h localhost -p 6379 -a 123456

此時,-h 和 -p 參數可省略不寫。

2. Redis數據類型

2.1 五種常用數據類型介紹

2.1.1 字符串操作命令

Redis 中字符串類型常用命令:

指令作用
SET key value設置指定key的值
GET key獲取指定key的值
SETEX key設置指定key的值,并將 key 的過期時間設為 seconds 秒
SETNX key只有在 key 不存在時設置 key 的值

更多命令可以參考Redis中文網:https://www.redis.net.cn

2.1.2 哈希操作命令

Redis hash 是一個string類型的 field 和 value 的映射表,hash特別適合用于存儲對象,常用命令:

指令作用
HSET key field value將哈希表 key 中的字段 field 的值設為 value
HGET key field獲取存儲在哈希表中指定字段的值
HDEL key field刪除存儲在哈希表中的指定字段
HKEYS key獲取哈希表中所有字段
HVALS key獲取哈希表中所有值

2.1.3 列表操作命令

Redis 列表是簡單的字符串列表,按照插入順序排序(個人認為相當于棧),常用命令:

指令作用
LPUSH key value1 [value2]將一個或多個值插入到列表頭部
LRANGE key start stop獲取列表指定范圍內的元素
RPOP key移除并獲取列表最后一個元素
LLEN key獲取列表長度
BRPOP key1 [key2] timeout移出并獲取列表的最后一個元素, 如果列表沒有元素會阻塞列表直到等待超 時或發現可彈出元素為止

2.1.4 集合操作命令

Redis set 是string類型的無序集合。集合成員是唯一的,這就意味著集合中不能出現重復的數據,常用命令:

指令作用
SADD key memeber1 [member2]向集合添加一個或多個成員
SMEMBERS key返回集合中的所有成員
SCARD key獲取集合的成員數
SINTER key1 [key2]返回給定所有集合的交集
SUNION key1 [key2]返回所有給定集合的并集
SREM key member1 [member2]移除集合中一個或多個成員

2.1.5 有序集合操作命令

Redis有序集合是string類型元素的集合,且不允許有重復成員。每個元素都會關聯一個double類型的分數。常用命令:

指令作用
ZADD key score1 member1 [score2 member2]向有序集合添加一個或多個成員
ZRANGE key start stop [WITHSCORES]通過索引區間返回有序集合中指定區間內的成員
ZINCRBY key increment member有序集合中對指定成員的分數加上增量 increment
ZREM key member [member …]移除有序集合中的一個或多個成員

2.1.6 通用命令

Redis的通用命令是不分數據類型的,都可以使用的命令:

指令作用
KEYS pattern查找所有符合給定模式( pattern)的 key
EXISTS key檢查給定 key 是否存在
TYPE key返回 key 所儲存的值的類型
DEL key該命令用于在 key 存在是刪除 key

2.2 各種數據類型特點

在這里插入圖片描述
解釋說明:

  • 字符串(string):普通字符串,Redis中最簡單的數據類型
  • 哈希(hash):也叫散列,類似于Java中的HashMap結構
  • 列表(list):按照插入順序排序,可以有重復元素,類似于Java中的LinkedList
  • 集合(set):無序集合,沒有重復元素,類似于Java中的HashSet
  • 有序集合(sorted set/zset):集合中每個元素關聯一個分數(score),根據分數升序排序,沒有重復元素

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

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

相關文章

雙周回顧#006 - 這三個月

斷更啦~~ 上次更新時間 2023/11/23, 斷更近三個月的時間。 先狡辯下,因為忙、著實忙。因為忙,心安理得給斷更找了個借口,批評下自己~~ 這三個月在做啥?跨部門援助,支援公司互聯網的 ToC 項目,一言難盡。 …

智能時代:人工智能引領未來創新

智能時代:人工智能引領未來創新 1. 人工智能的定義與特點 人工智能(Artificial Intelligence,AI)是指模擬、延伸和擴展人類智能的理論、方法、技術及應用系統的一門交叉學科。其特點包括學習能力、推理能力、感知能力和交互能力…

【C語言】InfiniBand 驅動mlx4_ib_init和mlx4_ib_cleanup

一、中文講解 這兩個函數是Linux內核模塊中對于Mellanox InfiniBand 驅動程序初始化和清理的函數。 mlx4_ib_init()函數是模塊初始化函數,使用__init宏標注,表示該函數只在模塊加載時運行一次。 函數執行的步驟如下: 1. 通過alloc_ordered_w…

數據結構——lesson5棧和隊列詳解

hellohello~這里是土土數據結構學習筆記🥳🥳 💥個人主頁:大耳朵土土垚的博客 💥 所屬專欄:數據結構學習筆記 💥對于順序表鏈表有疑問的都可以在上面數據結構的專欄進行學習哦~感謝大家的觀看與…

ElasticSearch開篇

1.ElasticSearch簡介 1.1 ElasticSearch(簡稱ES) Elasticsearch是用Java開發并且是當前最流行的開源的企業級搜索引擎。能夠達到實時搜索,穩定,可靠,快速,安裝使用方便。 1.2 ElasticSearch與Lucene的關…

Angular項目升級的一般步驟?

升級Angular項目是一個重要的任務,可以帶來性能改進、新功能和安全性增強等好處。以下是升級Angular項目的一般步驟: 1、備份項目文件: 在進行升級之前,務必對整個項目進行備份,以防意外情況發生。 2、查看當前版本&…

如何快速遷移其他云服務器中的網站數據到騰訊云輕量應用服務器中?教你使用寶塔Linux面板遷移網站

要快速遷移其他云服務器中的網站數據到騰訊云輕量應用服務器中,可以遵循以下步驟: 準備遷移前的工作:首先,確保你已經有了從其他云服務器到騰訊云輕量應用服務器的數據備份。這一步是為了在遷移過程中避免數據丟失或損壞。 使用寶…

模擬器抓HTTP/S的包時如何繞過單向證書校驗(XP框架)

模擬器抓HTTP/S的包時如何繞過單向證書校驗(XP框架) 逍遙模擬器無法激活XP框架來繞過單向的證書校驗,如下圖: ?? 解決辦法: 安裝JustMePlush.apk安裝Just Trust Me.apk安裝RE管理器.apk安裝Xposedinstaller_逍遙64位…

智能邊緣小站 CloudPond(低延遲、高帶寬和更好的數據隱私保護)

智能邊緣小站 CloudPond(低延遲、高帶寬和更好的數據隱私保護) 邊緣小站的主要功能是管理用戶在線下部署的整機柜設施,一個邊緣小站關聯一個華為云指定的區域和一個用戶指定的場地,相關的資源運行狀況監控等。 邊緣計算 邁入5G和AI時代,新…

利用redis實現秒殺功能

6、秒殺優化 這個是 圖靈 的redis實戰里面的一個案例 6.1 秒殺優化-異步秒殺思路 我們來回顧一下下單流程 當用戶發起請求,此時會請求nginx,nginx會訪問到tomcat,而tomcat中的程序,會進行串行操作,分成如下幾個步驟…

基于單片機的紅外遙控解碼程序設計與實現

摘要:該文介紹基于士蘭半導體芯片(SC6122)的紅外發射遙控器,通過單片機解碼程序,實現紅外遙控信號的解碼和接收。紅外接收頭與單片機特定的引腳連接,通過設置單片機定時計數器,采樣來自紅外接收頭的高、低電平寬度解碼遙控信號。該解碼程序設計主要應用在LED數碼顯示控制…

電機的極數和槽數,機械角度和電角度,霍爾IC,內外轉子

什么是電機的極數和槽數? 【第7集】②?正弦波驅動的轉矩脈動、正弦電流的時序和相位變化、超前角控制(超前角調整)、正弦波驅動的各種波形 - 電源設計電子電路基礎電源技術信息網站_羅姆電源設計R課堂 (rohm.com.cn) 下面為您介紹表示電機…

supervisor進程管理器-supervisord管理hyperf項目

Supervisor安裝 # 安裝 epel 源,如果此前安裝過,此步驟跳過 yum install -y epel-release # 安裝supervisor yum install -y supervisor # 設置supervisor開機自啟動 systemctl enable supervisord # 啟動supervisord服務 systemctl start supervisord…

新概念英語第二冊(72)

【New words and expressions】生詞和短語(7) racing n. 競賽 per prep. 每 Utah n. 猶他(美國州名) horsepower n. 馬力…

Java虛擬機(JVM)從入門到實戰【上】

Java虛擬機(JVM)從入門到實戰【上】,涵蓋類加載,雙親委派機制,垃圾回收器及算法等知識點,全系列6萬字。 一、基礎篇 P1 Java虛擬機導學課程 P2 初識JVM 什么是JVM Java Virtual Machine 是Java虛擬機。…

3.2日-線性模型,基礎優化方法,線性回歸從零開始實現

3.2日-線性模型,基礎優化方法,線性回歸從零開始實現 1線性模型衡量預估質量訓練數據總結2基礎優化方法3 線性回歸從零開始實現 1線性模型 衡量預估質量 訓練數據 總結 2基礎優化方法 梯度下降是一種優化算法,常用于機器學習和深度學習中&…

autojs Intent跳轉申請忽略電池優化頁面 和判斷是否已加入忽略優化白名單

//打開電池優化申請 判斷是否加入白名單 importClass(android.os.PowerManager); // importClass(android.Settings) //安卓setting 中有設置界面的各種activity var pm context.getSystemService(context.POWER_SERVICE);if (!pm.isIgnoringBatteryOptimizations(currentPa…

進程的信號

目錄 信號(signal)入門 技術應用角度的信號 注意 用kill -l命令可以察看系統定義的信號列表 信號處理常見方式概覽 產生信號 1.通過終端(鍵盤)按鍵產生信號 signal函數 2. 調用系統函數向進程發信號 kill 函數 raise 函數 3.由軟件條件產生的信號 alarm 函數 4.硬…

pytorch基礎4-自動微分

專題鏈接:https://blog.csdn.net/qq_33345365/category_12591348.html 本教程翻譯自微軟教程:https://learn.microsoft.com/en-us/training/paths/pytorch-fundamentals/ 初次編輯:2024/3/2;最后編輯:2024/3/3 本教程…

【Java EE】JUC(java.util.concurrent) 的常見類

目錄 🌴Callable 接口🎍ReentrantLock🍀原子類🌳線程池🌲信號量 Semaphore??CountDownLatch、?相關面試題 🌴Callable 接口 Callable 是?個 interface . 相當于把線程封裝了?個 “返回值”. ?便程序…