Redis基礎學習(五大值數據類型的常用操作命令)

目錄

一、Redis基本知識與Redis鍵(key)常用操作命令。

二、Redis的五大值的數據類型。(value)

三、Redis關于鍵(key)的值常用操作指令表格統計。

(1)字符串(String)。

(2)列表。(List)?

(3)哈希表(Hash)

(4)集合。(Set)

(5)有序集合。(ZSet)


一、Redis基本知識與Redis鍵(key)常用操作命令。

  • redis的默認端口6379。mysql默認端口號3306。
  • 默認16個數據庫,類似數組的下標從0開始,初始默認使用0號庫。可以使用select index來切換數據庫,如:select 1,表示切換到第2個庫。
  • 統一密碼管理,所有的庫密碼相同。

  • Redis鍵(key)的相關操作命令。

二、Redis的五大值的數據類型。(value)

  • redis字符串。(String)
  • redis列表。(List)
  • redis集合。(Set)
  • redis哈希表。(Hash)
  • redis有序集合(Zset)

三、Redis關于鍵(key)的值常用操作指令表格統計。

(1)字符串(String)。
  • Redis值(字符串)常用命令的表格統計。
命令基本介紹
set key value添加鍵值對。若鍵存在,會覆蓋原值。(簡單設置字符串值)
get key獲取鍵對應值。
setnx key valuekey不存在時,才會設置對應的key與value。
append key value原有鍵的值后追加值。。
strlen key獲取字符串值的長度。
mset k1 v1 k2 v2 ...同時設置多個key-value。
msetnx k1 v1 k2 v2 ...原子性:當所有的key就不存在值時,則設置成功。
mget?k1 k2...同時獲取多個key對應的value。
getrange key start end獲取值的范圍。與Java的substring很像,提取指定范圍的字符串。
setrange key start value覆蓋指定起始位置的值。
setex key 過期時間 value設置鍵與過期時間與值。
getset key value設置新值同時返回舊值。
  • Redis值(字符串)關于數字值的遞增、遞減命令的表格統計。
命令基本介紹
incr key指定key的數字值的遞增。如果key不存在,默認為1。
decr key指定key的數字值的遞減。如果key不存在,默認為-1。
incrby key +value對指定key遞增指定數值。如果key不存在,則在0基礎上+遞增的值。
decrby key -value對指定的key遞減指定數值。如果key不存在,則在0基礎上-遞增的值。
(2)列表。(List)?
  • Redis列表是簡單的字符串列表。底層實際上是使用雙向鏈表實現的。
  • Redis值(列表)常用命令的表格統計。
命令基本介紹
lpush k1 v1 k2 v2 ...從左邊插入一個或多個值
rpush?k1 v1 k2 v2 ...從右邊插入一個或多個值
lrange key start stop查詢指定列表key的指定區間的元素。
正數下標:0第一個元素,負數下標:-1倒數1個元素,-2倒數第2個
lprop key count
從左邊彈出多個元素,count可以省略,默認值為1
rprop key count從右邊彈出多個元素,count可以省略,默認值為1
rproplpush
source destination
從一個列表右邊彈出一個元素并放到另外一個列表中
lindex key index查詢指定索引位置的元素(從左到右)
llen key獲取指定列表的長度
linsert key before|after
value newvalue
將值newvalue插入到列表key當中,位于值value之前或之后。
value不存在列表中時,不執行任何操作
lrem key count value
根據參數count的值,移除列表中與參數value相等的元素
若count>0,從表頭開始搜索,移除與value相等的元素,數量為count
若count<0,從表尾開始搜索,移除與value相等的元素,數量為count絕對值
若count=0,移除表中所有與 value 相等的值。
lset key index value
將列表key的下標索引為index的元素的值設置為value。
(3)哈希表(Hash)
  • Redis hash是一個鍵值對集合。
  • Redis hash是一個string類型的fieldvalue的映射表,hash特別適合用于存儲對象。 類似于java里面的Map<String,Object>。
  • Hash類型對應的數據結構是ziplist(壓縮列表),hashtable(哈希表)。
    field-value長度較短個數較少時,使用ziplist,否則使用hashtable

命令基本介紹
hset key field value
[field1 value1?field2?value2?...]

設置單個或多個field及value。

將哈希表key中的域field的值設為value 。
hget key field獲取(查詢)指定field的值value。
hgetall key返回指定hash表的所有域field以及值value。
hexists key field
判斷給定的域field是否存在。1:存在,0:不存在
hkeys key
返回指定hash表的所有的域filed
hvals key
返回指定hash表的所有的值value
hlen key返回指定hash表的域filed數量
hincrby key field increment
給指定hash表的指定域filed的值加上指定的增量。
增量也可以為負數,相當于對給指定域filed的值value進行減法操作。
如果域filed對應的值value不是integer會錯誤提示。
hsetnx key field value
將哈希表key中的域field的值設置為value ,當且僅當域field不存在!
(4)集合。(Set)
  • Redis Set與List類似,是一個列表的功能,特殊之處在于Set是可以自動排重的!當需要存儲一個列表數據,又不希望出現重復數據時,Set是一個很好的選擇。
  • Redis的Set是String類型的無序集合,他的底層實際是一個value為null的Hash表,添加,刪除,查找復雜度都是O(1)。

命令基本介紹
sadd key value1 value2 ...添加一個或多個元素。(會自動去重)
smembers key取出(查詢)所有元素
sismember key value
判斷集合key中是否包含元素value。其中1:有,0:沒有
scard key返回集合中元素的個數
srem key?member
[member1 member2 ...]
移除(刪除)集合key中的一個或多個member元素。
若不存在的member元素會被忽略執行。
spop key [count]

隨機彈出count個元素。count默認為1。

被彈出的元素會被刪除,返回彈出元素值

srandmember key?[count]隨機獲取count個元素。count默認為1。
不會刪除集合中的元素。
smove?source destination membermember元素從集合source移除,并添加到destination 集合中。
若destination 集合中已有該元素,只進行source移除操作。
sinter key [key1 key2 ...]
取多個集合的交集
sinterstore
將多個集合的交集放到一個新的集合中
sunion?key [key1 key2 ...]
取多個集合的并集,且自動去重
sunionstore
將多個集合的并集放到一個新的集合中
sdiff?key [key1 key2 ...]
取多個集合的差集。
返回一個集合的全部成員,該集合是所有給定集合之間的差集
(5)有序集合。(ZSet)
  • redis有序集合zset與普通集合set非常相似,是一個沒有重復元素的字符串集合。
  • 不同之處:有序集合的每個成員都關聯了一個評分(score),這個評分(score)被用來按照從最低分 到最高分的方式排序集合中的成員。
  • 集合的成員是唯一的,但是評分是可以重復的。

  • 因為元素是有序的,所以你可以很快的根據評分(score)或者次序(position)來獲取一個范圍的元素。
  • 訪問有序集合中的中間元素也是非常快的,因為你能夠使用有序集合作為一個沒有重復成員你的智能列表。

命令基本介紹
zadd key
<score1> <member1>
<score2> <member2> ...
1、將一個或多個member元素及其score值加入到有序集 key 當中。
2、如果某個member已經是有序集的成員,那么更新這個member的score值,并重新插入這個member元素,來保證該member在正確的位置上。
3、score 值可以是整數值或雙精度浮點數。
zrange key start top [withscores]

1、返回存儲在有序集合key中的指定范圍的元素。 返回的元素可以認為是按score從最低到最高排列,如果得分相同,將按字典排序。
2、下標參數start和stop都以0為底,則以0表示有序集第一個成員,以1表示有序集第二個成員。

3、zrange key 0 -1:可以獲取所有元素。

4、withscores:讓member成員和它的 score 值一并返回

zrevrange key
start stop [withscores]
score降序,獲取指定索引范圍的元素。
可以使用負數下標,以-1表示最后一個成員, -2表示倒數第二個成員。
zrangebyscore?key min max [withscores] [limit offset count]
1、返回有序集 key 中,所有score值介于min和max之間(包括等于min或max)的成員。有序集成員按score值遞增(從小到大)次序排列。
2、可選的limit參數指定返回結果的數量及區間。
zrevrangebyscore
按照score降序,返回指定score范圍內的數據。
zincrby key increment member
為有序集key的成員member的score值加上增量 increment 。
可以通過傳遞一個負數值increment ,讓score減去相應的值。
zrem key member
[member1 member2?...]
移除有序集key中的一個或多個成員,不存在的成員將被忽略。
zremrangebyrank key start stop
根據索引范圍刪除元素。
zremrangebyscore key min max
移除有序集key中,所有score值介于min和max之間(包括等于 min或max)的成員。
zcount key min max
返回有序集key中, score值在min和 max之間(默認包括 score值等于min或max)的成員的數量。
zrank key member
1、返回有序集key中成員member的排名。其中有序集成員按score值遞增(從小到大)順序排列。
2、排名以 0 為底,也就是說, score 值最小的成員排名為 0 。
zrevrank?key member
1、返回有序集key中成員member的排名。其中有序集成員按 score 值遞減(從大到小)排序。
2、排名以0為底,也就是說, score值最大的成員排名為 0 。
zscore key member
返回有序集key中,成員member的score值。

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

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

相關文章

Ubuntu——辦公軟件 LibreOffice 安裝與使用指南

十四、LibreOffice 安裝與使用1、核心組件組件????圖標????對應MS Office????核心功能定位????Writer??&#x1f4dd;Word專業文檔處理與排版??Calc??&#x1f4ca;Excel數據計算與分析??Impress??&#x1f3ac;PowerPoint演示文稿制作??Draw??&…

Securecrt丟失tab以及終端重新配色

今天在使用 Securecrt 的時候&#xff0c;發現 Securecrt 的 tab 標簽消失不見了&#xff0c;仔細回想起來&#xff0c;應該是上一次誤按了 alt enter 最大化&#xff0c;然后導致配置丟失的問題 還有表現就是菜單中的 Session Tabs 無論勾選還是不勾選都沒有任何變化&#xf…

frp搭建內網穿透教程

frp搭建內網穿透教程 步驟1&#xff1a;準備工作 公網服務器&#xff1a;需要一臺具有公網IP的服務器作為中轉服務器&#xff0c;安裝frp服務器端&#xff08;frps&#xff09;。內網設備&#xff1a;需要暴露服務的內網設備&#xff0c;安裝frp客戶端&#xff08;frpc&#xf…

【JavaEE進階】圖書管理系統(未完待續)

目錄 用戶登錄 添加圖書 圖書列表 修改圖書 刪除圖書 批量刪除 攔截器 &#x1f343;前言 什么是攔截器? 攔截器的基本使用 自定義攔截器 注冊配置攔截器 攔截路徑 攔截器執行流程 項目實現統一攔截 定義攔截器 注冊配置攔截器 前?圖書管理系統, 咱們只完成了??登錄和圖書列…

基于同花順API的熊市與牛市識別模型開發及因子分析

基于同花順API的熊市與牛市識別模型開發及因子分析 1. 引言 1.1 研究背景與意義 金融市場中的牛市與熊市識別一直是投資者和研究人員關注的重點問題。牛市(Bull Market)通常指價格持續上漲的市場環境,投資者信心充足,交易活躍;而熊市(Bear Market)則指價格持續下跌的市場…

AMD 銳龍 AI MAX+ 395 處理器與端側 AI 部署的行業實踐

2025 年 7 月 10 日&#xff0c;AMD 在深圳召開 Mini AI 工作站行業解決方案峰會&#xff0c;正式發布基于銳龍 AI MAX 395 處理器的端側 AI 部署方案&#xff0c;與 200 余家生態伙伴共同探討 AI 技術在千行百業的落地路徑。這一硬件平臺通過異構計算架構與開放生態設計&#…

期權盤位是什么意思?

本文主要介紹期權盤位是什么意思&#xff1f;“期權盤位”并非金融交易中的標準術語&#xff0c;可能是口語化表達或對某些概念的簡化描述。期權盤位是什么意思&#xff1f;1. 期權盤口的“價位”&#xff08;買賣報價位置&#xff09;在期權交易中&#xff0c;“盤口”通常指實…

【Trea】Trea國內版|國際版|海外版下載|Mac版|Windows版|Linux下載配置教程

【Trea】Trea國內版&#xff5c;國際版&#xff5c;海外版下載&#xff5c;Mac版&#xff5c;Windows版下載配置教程 本文適用讀者&#xff1a; 想要第一次安裝 Trea需要在 Windows 或 macOS 上完成環境配置想深入了解 Doubao、DeepSeek、ChatGPT、Claude 等模型在 Trea 中的接…

MyBatis實現分頁查詢-蒼穹外賣筆記

首先分頁查詢的原理是SQL的limit關鍵字。LIMIT 子句用于限制 SQL 查詢返回的記錄數。它接受一個或兩個整數參數&#xff0c;第一個參數表示偏移量&#xff0c;第二個參數表示返回的最大記錄數。我們完全可以使用前端傳給我們的page,pageSize,自己去計算limit的參數&#xff0c;…

系統性能評估方法深度解析:從經典到現代

評估本質&#xff1a;系統性能評估是通過量化分析衡量計算機系統在特定工作負載下的表現能力&#xff0c;核心目標是建立可比較的性能基準&#xff0c;為系統設計、選型和優化提供科學依據。一、評估方法分類體系 #mermaid-svg-0ceD4AA2KDwzwtb6 {font-family:"trebuchet …

WebSocket實現多人實時在線聊天

最近公司在做一個婚戀app&#xff0c;需要增加一個功能&#xff0c;實現多人實時在線聊天。基于WebSocket在Springboot中的使用&#xff0c;前端使用vue開發。 一&#xff1a;后端 1. 引入 websocket 的 maven 依賴 <dependency><groupId>org.springframework.bo…

學習筆記隨記-FPGA/硬件加速

一、FPGA&#xff1a;Field Programmable Gate Array 現場可編程門陣列 可編程輸入/輸出單元、基本可編程邏輯單元、嵌入式塊RAM、豐富的布線資源、底層嵌入功能單元和內嵌專用硬核。 可編程輸入/輸出單元&#xff08;I/O&#xff09;單元 輸入/輸出&#xff08;Input/Ouput&…

docker宿主機修改ip后起不來問題解決

確保容器已經連接到了正確的網絡。如果沒有&#xff0c;你可以使用以下命令將容器連接到網絡&#xff1a; 1、停止docker網絡 ifconfig docker0 down1. 停止 Docker 服務 sudo systemctl stop docker2. 刪除 docker0 接口 sudo ip link delete docker03、刪除舊的網橋 docker n…

G1 垃圾回收算法詳解

目錄 簡介 G1 GC 的設計目標 內存結構 回收過程 初始標記&#xff08;Initial Mark&#xff09;并發標記&#xff08;Concurrent Mark&#xff09;最終標記&#xff08;Final Mark / Remark&#xff09;篩選回收&#xff08;Cleanup / Evacuation&#xff09; 混合回收&…

JavaEE多線程——鎖策略 CAS synchronized優化

目錄前言1.鎖策略1.1 樂觀鎖和悲觀鎖1.2 重量級鎖和輕量級鎖1.3 掛起等待鎖和自旋鎖1.4 公平鎖和非公平鎖1.5 可重入鎖和不可重入鎖1.6 讀寫鎖2.CAS2.1 CAS的應用2.2 CAS的ABA問題3.synchronized優化3.1鎖升級3.2鎖消除3.3鎖粗化總結前言 本篇文章主要介紹多線程中鎖策略、CAS…

Windows符號鏈接解決vscode和pycharm占用C盤空間太大的問題

Windows符號鏈接解決vscode和pycharm占用C盤空間太大的問題 參考文章&#xff1a;Windows符號鏈接 1、找到vscode和pycharm在C盤的緩存文件夾。 C:\Users\用戶名\AppData\Roaming\Code C:\Users\用戶名\.vscode\extensionsC:\Users\用戶名\AppData\Local\JetBrains C:\Users…

賦能家庭、行業與工業場景,智微智能新一代Twin Lake 全棧智能終端發布

在數字化浪潮席卷全球的今天&#xff0c;智能終端已成為連接物理世界與數字世界的核心樞紐。智微智能基于Intel Twin Lake平臺&#xff0c;推出覆蓋家庭/行業應用及工業物聯網的全場景產品矩陣&#xff0c;為不同場景下的用戶提供高效、可靠的產品和解決方案。Intel Twin Lake架…

復習筆記 31

前言 好好復習。今天距離考研初試還剩一百六十一天。我的時間其實沒剩多少了呀。我得好好加油。 歸并排序 #include<algorithm> #include<iostream>using namespace std;const int N 100010; int n; int a[N], tmp[N];void merge ( int a[], int l, int r ) {if (…

el-tree 懶加載 loadNode

el-tree 是 Element UI 提供的樹形組件&#xff0c;其懶加載功能通過 loadNode 方法實現&#xff0c;可以在用戶展開節點時動態加載子節點數據&#xff0c;避免一次性加載大量數據。下面介紹 loadNode 的具體用法和示例。基本用法loadNode 是 el-tree 的一個重要屬性&#xff0…

【機器學習入門巨詳細】(研0版)二創OPEN MLSYS

自學機器學習&#xff0c;從入門到精通導論機器學習的基本框架設計目標機器學習框架基本組成原理機器學習生態機器學習工作流環境配置數據處理模型定義損失函數和優化器訓練及保存模型測試及驗證模型定義深度神經網絡以層為核心定義神經網絡神經網絡層實現原理自定義神經網絡層…