最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Redis的數(shù)據(jù)類型解讀

 更新時間:2025年07月29日 09:16:00   作者:Saness1y  
本文總結(jié)Redis核心數(shù)據(jù)類型(String、Hash、List、Set、ZSet)的常用命令及用途,涵蓋基礎(chǔ)存儲、計數(shù)器、集合操作、排序查詢等場景,強調(diào)原子操作、阻塞處理等注意事項,助于快速掌握Redis實際應(yīng)用技巧

String

以下是基于圖片中 Redis String類型命令 的提取與優(yōu)化整理,結(jié)合實用場景和注意事項,便于快速掌握核心用法:

Redis String類型命令詳解與優(yōu)化指南

1. 基礎(chǔ)操作

命令

語法示例

作用

場景說明

SET

SET key value

添加/修改鍵值對

緩存、簡單數(shù)據(jù)存儲

GET

GET key

獲取key對應(yīng)的value

讀取緩存或配置

SETNX

SETNX key value

key不存在時才設(shè)置(原子操作)

分布式鎖、防重復(fù)提交

set get setnx

  • setnx 如果key值不存在 才添加 如果存在 就不添加 這才是 真正的新增操作

  • set 后面 跟nx 也可以實現(xiàn)

2. 批量操作

命令

語法示例

優(yōu)勢

MSET

MSET k1 v1 k2 v2

減少網(wǎng)絡(luò)開銷,批量寫入

MGET

MGET k1 k2

批量讀取,提升效率

  • mset 多量 添加/修改
  • mget 多量 獲取

3. 數(shù)字增減

命令

語法示例

說明

INCR

INCR key

整數(shù)+1(如計數(shù)器)

INCRBY

INCRBY key 5

指定步長(如+5)

INCRBYFLOAT

INCRBYFLOAT key 0.5

浮點數(shù)增減(如庫存調(diào)整)

incr (auto-increment)

  • incrby 值改成 負的 就 是自減了
  • incrbyfloat 浮點數(shù)增減

4. 有效期控制

命令

語法示例

用途

SETEX

SETEX key 60 "value"

設(shè)置鍵值對并指定有效期(秒)

PSETEX

PSETEX key 10000 "value"

毫秒級有效期(精準控制)

setex (ex =expire)

添加一個Key 并且 設(shè)置有效期

同樣在后面加 ex 可以實現(xiàn)

psetex

命令對比速查表

需求

應(yīng)選命令

替代方案

設(shè)置值并過期

SETEX

SET

+EXPIRE

防覆蓋寫入

SETNX

SET

+NX

參數(shù)

浮點數(shù)計算

INCRBYFLOAT

客戶端計算后SET

Key的層級模式

在這里面就形成了層級結(jié)構(gòu)

Hash類型

Redis Hash類型常見命令速查表

命令格式

功能描述

示例用法

HSET key field value

設(shè)置/修改Hash鍵中指定字段的值

HSET user:100 name "張三"

HGET key field

獲取Hash鍵中指定字段的值

HGET user:100 name

→ "張三"

HMSET key field1 value1 [field2 value2...]

批量設(shè)置多個字段值(Redis 4.0+建議改用HSET)

HMSET product:500 price 2999 stock 100

HMGET key field1 [field2...]

批量獲取多個字段的值

HMGET user:100 name age

HGETALL key

獲取Hash鍵中所有字段和值(返回交替顯示的字段/值列表)

HGETALL user:100

HKEYS key

獲取Hash鍵中所有字段名

HKEYS product:500

→ ["price", "stock"]

HVALS key

獲取Hash鍵中所有字段值

HVALS product:500

→ ["2999", "100"]

HINCRBY key field increment

對指定字段值進行整數(shù)遞增/遞減(支持負數(shù))

HINCRBY product:500 stock -5

HSETNX key field value

僅當字段不存在時設(shè)置值(原子操作)

HSETNX user:100 email "a@test.com"

  • Hset

相當于 一個 key 可以存放 多個哈希key 和 哈希value

  • Hget

要同時指定 key 和 哈希key 才可以獲得 哈希value

HMset 輸入一個key 和一次性添加多個 哈希key 和 哈希value

HMget 輸入一次key 一次性輸入 多個 哈希key 去獲得 多個 哈希value

HgetAll 輸入一次key 獲得所有 的哈希key 哈希value 依次返回

Hkeys 獲得所有的哈希key

Hvals 獲得所有的哈希value

HincrBy 指定 key 指定哈希key 選擇增加的 數(shù)值

Hsetnx 指定key 和 哈希key 如果哈希key不存在 則添加 value 如果 存在 則添加失敗

Link類型

List接近于 Java中的LinkedList

Lpush 向左推入元素 L是 left

先推入1 后 2 后3 所以順序是 321

Rpush 向右推入元素 R是 right

Lpop 向左取出元素 并且刪除該元素

Rpop 向右取出元素 并且刪除該元素

Lrange 從左到右取出 范圍內(nèi)的數(shù) 并且不刪除

BLpop 左 延遲等待 刪除

阻塞方式 第三個參數(shù)是時間

如果表內(nèi)不存在數(shù)據(jù) 就會等100s 去等

打開第二個客戶端去添加數(shù)據(jù) 然后第一個客戶端就會 接收到然后刪除

BRpop 右 延遲等待刪除

阻塞方式 第三個參數(shù)是時間

如果表內(nèi)不存在數(shù)據(jù) 就會等100s 去等

打開第二個客戶端去添加數(shù)據(jù) 然后第一個客戶端就會 接收到然后刪除

Set類型

List接近于 Java中的LinkedList

Lpush 向左推入元素 L是 left

先推入1 后 2 后3 所以順序是 321

Rpush 向右推入元素 R是 right

Lpop 向左取出元素 并且刪除該元素

Rpop 向右取出元素 并且刪除該元素

Lrange 從左到右取出 范圍內(nèi)的數(shù) 并且不刪除

BLpop 左 延遲等待 刪除

阻塞方式 第三個參數(shù)是時間

如果表內(nèi)不存在數(shù)據(jù) 就會等100s 去等

打開第二個客戶端去添加數(shù)據(jù) 然后第一個客戶端就會 接收到然后刪除

BRpop 右 延遲等待刪除

阻塞方式 第三個參數(shù)是時間

如果表內(nèi)不存在數(shù)據(jù) 就會等100s 去等

打開第二個客戶端去添加數(shù)據(jù) 然后第一個客戶端就會 接收到然后刪除

SortSet類型

Zadd 添加 注意的是 第一個是 key 然后 前面的數(shù)據(jù)是 score 后面的值是 value

它會自動按照score 分數(shù)排名 升序

Zrem (rem remove) key 為 stus 就是把value 為 Tom 的刪除掉

Zrank (rank 排名)

它返回的排名 是從 0 開始的 0 1 2 所以 就是 2

Zrevrank (rev = reverse rank 排名)

倒序排序 從0開始 0 1 2 3 所以是 3

Zcard 獲取所有元素總個數(shù)

Zcount 0 82 范圍查詢個數(shù)

ZincrBy (選擇自增多少分 改成負的就減分了)

Zrange (查出這個范圍的所有數(shù)據(jù)) 起始為0

Zrevrange 通過排序個數(shù) 范圍查詢 (rev = reverse range 范圍) )

ZrangeByscore 通過分數(shù)范圍查詢 value

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • Redis進行相關(guān)優(yōu)化詳解

    Redis進行相關(guān)優(yōu)化詳解

    這篇文章主要介紹了Redis進行相關(guān)優(yōu)化,Redis在項目中進行廣泛使用,那么在日常的開發(fā)過程中,我們在使用Redis的過程中需要注意那些呢?本文將從三個維度來講解如何進行Redis的優(yōu)化
    2022-08-08
  • Redis五種數(shù)據(jù)結(jié)構(gòu)在JAVA中如何封裝使用

    Redis五種數(shù)據(jù)結(jié)構(gòu)在JAVA中如何封裝使用

    本篇博文就針對Redis的五種數(shù)據(jù)結(jié)構(gòu)以及如何在JAVA中封裝使用做一個簡單的介紹。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • Redis密碼設(shè)置與訪問限制實現(xiàn)方法

    Redis密碼設(shè)置與訪問限制實現(xiàn)方法

    這篇文章主要介紹了Redis密碼設(shè)置與訪問限制實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • Redis之Set和Zset使用及說明

    Redis之Set和Zset使用及說明

    文章介紹了Redis集合和有序集合的相關(guān)命令,包括添加、查詢、修改、刪除元素,集合間的交集、并集、差集操作,以及數(shù)據(jù)庫管理操作,強調(diào)了在實際開發(fā)中合理使用這些功能的重要性
    2026-03-03
  • redis分片集群的部署和使用教程

    redis分片集群的部署和使用教程

    這篇文章介紹了如何使用Docker和腳本在虛擬機上部署Redis集群,并詳細講解了Spring Boot整合Redis集群的方法,包括配置、讀寫分離以及一些須知,感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • Redis 哨兵與集群腦裂問題及其解決

    Redis 哨兵與集群腦裂問題及其解決

    本文主要介紹了Redis 哨兵與集群腦裂問題及其解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-04-04
  • 通過kubesphere部署redis的方法

    通過kubesphere部署redis的方法

    這篇文章主要介紹了通過kubesphere部署redis的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • redis簡介_動力節(jié)點Java學院整理

    redis簡介_動力節(jié)點Java學院整理

    這篇文章主要介紹了redis簡介,Redis是一個開源的,先進的 key-value 存儲可用于構(gòu)建高性能,可擴展的 Web 應(yīng)用程序的解決方案,有興趣的可以了解一下
    2017-08-08
  • Redis中StringRedisTemplate中HashOperations的使用詳解

    Redis中StringRedisTemplate中HashOperations的使用詳解

    文章介紹了Spring Boot 2中使用Lettuce框架訪問Redis的基本步驟和常用操作,包括添加依賴、注入`StringRedisTemplate`實例以及進行字符串、哈希、集合、列表和有序集合的基本操作,文章還提供了一個登錄案例,并總結(jié)了個人經(jīng)驗,鼓勵讀者參考和支持
    2026-03-03
  • Redis實戰(zhàn)之Lettuce的使用技巧詳解

    Redis實戰(zhàn)之Lettuce的使用技巧詳解

    Lettuce?是?Redis?的一款高級?Java?客戶端,與?Jedis?并列成為最熱門的客戶端之一,目前已成為?SpringBoot?2.0?版本默認的?redis?客戶端。本文主要和大家講講Lettuce的使用技巧,感興趣的可以了解一下
    2022-12-12

最新評論

庆城县| 扶余县| 山西省| 汕尾市| 神池县| 丽江市| 柘城县| 察哈| 治县。| 安福县| 平武县| 广饶县| 运城市| 富川| 韶关市| 安多县| 张家口市| 中超| 桐乡市| 静乐县| 潮州市| 嵊泗县| 南郑县| 句容市| 根河市| 宣城市| 南靖县| 富顺县| 长海县| 克拉玛依市| 巴林左旗| 南靖县| 应城市| 澄迈县| 贺州市| 马边| 含山县| 山东省| 阿合奇县| 安远县| 湘潭县|