Redis——Redis進階命令集詳解(下)

本文詳細介紹了Redis一些復雜命令的使用,包括Redis事務相關命令,如MULTIEXECDISCARDWATCH ,發布訂閱操作命令,如PUBLISH 、SUBSCRIBE 、PSUBSCRIBE ,BitMap操作命令,如SETBIT、GETBIT、BITCOUNT、BITOP,HyperLogLog 操作命令PFADD、PFCOUNT、PFMERGE,GEO命令如GEOADD、GEODIST、GEORADIUS,以及性能測試命令redis-benchmark等等

本文目錄

      • 一、Redis 事務
      • 二、發布訂閱操作命令
      • 三、BitMap 操作命令
      • 四、HyperLogLog 操作命令
      • 五、Geo操作命令
      • 六、benchmark 性能測試

一、Redis 事務

Redis 事務通過 MULTIEXECDISCARDWATCH 命令實現。事務可以將多個命令打包,按順序執行,并且在執行過程中不會被其他客戶端的命令打斷。

MULTI :開啟一個事務。
EXEC :執行事務中的所有命令
DISCARD: 取消事務。
WATCH :用于監視一個或多個鍵,若在事務執行前這些鍵被其他客戶端修改,則事務會被取消。

MULTI
SET name r
GET name
EXEC

以上命令將 SETGET 命令打包成一個事務執行。

二、發布訂閱操作命令

Redis 的發布-訂閱功能允許客戶端訂閱一個或多個頻道,當有其他客戶端向這些頻道發布消息時,訂閱者會收到相應的消息。

PUBLISH <channel> <message>:向指定的頻道 channel 發布一條消息 message
SUBSCRIBE <channel> [channel ...]:訂閱一個或多個頻道。
PSUBSCRIBE <pattern> [pattern ...]:訂閱符合指定模式的頻道。

三、BitMap 操作命令

  • 設置與獲取位值

    • SETBIT <key> <offset> <value>:將鍵 key 對應的 BitMap 中偏移量為 offset 的位設置為 value(0 或 1)。
    • GETBIT <key> <offset>:獲取鍵 key 對應的 BitMap 中偏移量為 offset 的位的值。
  • 位統計與操作

    • BITCOUNT <key> [start end]:統計鍵 key 對應的 BitMap 中值為 1 的位的數量,可指定統計的字節范圍。
    • BITOP <operation> <destkey> <key1> [key2 ...]:對多個 BitMap 進行位運算(如 AND、OR、XOR、NOT),結果存儲在 destkey 中。
  • BitMap 應用場景
    BitMap 是一種以位為單位進行存儲的數據結構,每個位只能存儲 0 或 1。在 Redis 中,BitMap 可以使用字符串類型來實現。

應用場景
- 用戶簽到:可以使用一個 BitMap 來記錄用戶的簽到情況,每個位對應一天,簽到則將該位置為 1,未簽到則為 0。
- 在線用戶統計:通過 BitMap 記錄每個用戶的在線狀態,統計在線用戶數量。

四、HyperLogLog 操作命令

HyperLogLog 是一種用于估算集合中唯一元素數量的概率性數據結構,它在占用極小內存的情況下可以對大量數據的基數進行近似統計。

  • 命令
    • PFADD <key> <element> [element ...]:向 HyperLogLog 中添加一個或多個元素。
    • PFCOUNT <key> [key ...]:估算 HyperLogLog 中唯一元素的數量,可同時對多個 HyperLogLog 進行統計。
    • PFMERGE <destkey> <sourcekey1> [sourcekey2 ...]:將多個 HyperLogLog 合并為一個,結果存儲在 destkey 中。

五、Geo操作命令

Redis 的 Geospatial 功能用于存儲和處理地理空間數據,如地理位置的經緯度信息。基于有序集合(ZSet)實現,通過將經緯度轉換為一個分數進行存儲。

  • 命令
    • GEOADD <key> <longitude> <latitude> <member> [longitude latitude member ...]:向鍵 key 對應的地理空間集合中添加一個或多個地理位置信息。
    • GEODIST <key> <member1> <member2> [unit]:計算鍵 key 對應的地理空間集合中兩個成員之間的距離,可指定單位(如 m、km、mi、ft)。
    • GEORADIUS <key> <longitude> <latitude> <radius> <unit> [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count]:查詢鍵 key 對應的地理空間集合中距離指定經緯度 radius 范圍內的成員,可選擇返回成員的經緯度、距離等信息。

六、benchmark 性能測試

Redis 自帶 redis - benchmark 工具,可用于對 Redis 進行性能測試。能模擬多個客戶端同時向 Redis 服務器發送請求,測試 Redis 在不同場景下的性能指標,如 QPS(每秒查詢率)、響應時間等。也可通過指定不同的參數,如客戶端數量、請求數量、請求類型等,來模擬不同的業務場景,評估 Redis 在高并發情況下的性能表現。

  • 命令
redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n 100000

此命令表示使用 100 個客戶端同時向 127.0.0.1:6379 的 Redis 服務器發送 100000 個請求進行性能測試。



← 上一篇 MySQL——表添加索引多種方式
記得點贊、關注、收藏哦!
下一篇 JUC小冊——公平鎖和非公平鎖 →

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

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

相關文章

C#使用socket報錯 System.Net.Sockets.SocketException:“在其上下文中,該請求的地址無效。

bind: 在其上下文中&#xff0c;該請求的地址無效。問題定位 程序中運行socket服務端程序時&#xff0c;綁定的IP地址無效&#xff0c;即請求的IP地址在你的機子上找不到。原因有以下幾種可能&#xff1a; 1&#xff09;server端綁定的IP地址不是本機的IP地址。 2&#xff09;之…

計算機底層入門 05 匯編學習環境通用寄存器內存

2.3 匯編學習環境我們通過上一章筆記&#xff0c;得知 計算機好像 只會通過位運算 進行 數字的加法。 而機器語言的魅力就是 位運算&#xff0c;解析規則。它們也都是通過 電路 來進行實現的。這就是 計算機最底層的本質了&#xff01;&#xff01;&#xff01; 匯編語言 所謂的…

Java學習---Spring及其衍生(上)

在 Java 開發領域&#xff0c;Spring 生態占據著舉足輕重的地位。從最初的 Spring 框架到后來的 SpringBoot、SpringMVC 以及 SpringCloud&#xff0c;每一個組件都在不同的場景下發揮著重要作用。本文將深入探討這幾個核心組件&#xff0c;包括它們的定義、原理、作用、優缺點…

LVGL應用和部署(個人開發嵌入式linux產品)

【 聲明&#xff1a;版權所有&#xff0c;歡迎轉載&#xff0c;請勿用于商業用途。 聯系信箱&#xff1a;feixiaoxing 163.com】隨著經濟越來越走向常態化發展&#xff0c;將來的公司基本是兩個趨勢&#xff0c;一個是公司越做越大&#xff0c;越來越趨向于壟斷&#xff1b;另外…

CPU,減少晶體管翻轉次數的編碼

背景 以4比特為單位&#xff0c;共16個數。仔細思考狀態轉換過程中的晶體管翻轉次數。 0000 0001&#xff0c;1 0010&#xff0c;2 0011&#xff0c;1 0100&#xff0c;3 0101&#xff0c;1 0110&#xff0c;2 0111&#xff0c;1 1000&#xff0c;4 1001&#xff0c;1 1010&…

LLM 中的 溫度怎么控制隨機性的?

LLM 中的 溫度怎么控制隨機性的? 在LLM的解碼過程中,溫度(Temperature)通過調整token概率分布的“陡峭程度”來控制隨機性:溫度越低,概率分布越陡峭(高概率token的優勢越明顯),隨機性越低;溫度越高,分布越平緩(高低概率token的差異被縮小),隨機性越高。 溫度,…

freemodbus使用

文章目錄? **CubeMX配置**1. UART配置&#xff08;RS485通信&#xff09;2. Timer配置&#xff08;RTU字符間隔檢測&#xff09;3. GPIO配置&#xff08;RS485方向控制&#xff09;? **STM32F103 RS485 FreeModbus RTU 配置概覽****1?? CubeMX硬件配置****2?? FreeModb…

【Ansible】Ansible 管理 Elasticsearch 集群啟停

一、集群節點信息 通過 Ansible inventory 定義的集群節點分組如下&#xff1a;[es]&#xff08;Elasticsearch 節點&#xff09; 192.168.100.150192.168.100.151192.168.100.152[logstash]&#xff08;Logstash 節點&#xff09; 192.168.100.151[kibana]&#xff08;Kibana …

Effective Python 第15條 不要過分依賴給字典添加條目時所用的順序

引言&#xff1a;字典順序的重要性 在Python編程中&#xff0c;字典&#xff08;dict&#xff09;是一種常用的數據結構&#xff0c;用于存儲鍵值對。然而&#xff0c;字典的迭代順序問題常常困擾著開發者。從Python 3.7開始&#xff0c;字典保證了鍵的插入順序&#xff0c;這一…

事務隔離級別和傳播方式

事務隔離級別 事務隔離級別是數據庫系統中控制事務間相互影響程度的重要機制。不同的隔離級別在數據一致性保證和系統性能之間提供不同的權衡選擇。下面我將詳細解析四種標準隔離級別、它們能解決的問題以及可能存在的并發問題。 一、四種標準隔離級別 1. 讀未提交 (Read Uncom…

不同地區的主要搜索引擎工具

研究seo&#xff0c;想匯總一下不同國家的搜索引擎工具&#xff0c;順帶了解一下這些公司提供的服務。 韓國&#xff1a;NAVER——>LINE 日本: 我還不知道&#xff0c;如果你知道可以評論告訴我 俄羅斯&#xff1a;yandex yandex有點像本土化的google 搜索引擎 郵箱 網盤 在…

實操:AWS CloudFront的動態圖像轉換

概述 適用于 Amazon CloudFront 的動態圖像轉換&#xff08;前身為無服務器圖像處理器&#xff09;&#xff0c;通過 Amazon CloudFront 的全球內容分發網絡&#xff08;CDN&#xff09;實現實時圖像處理。此 AWS 解決方案可幫助您優化視覺內容交付&#xff0c;同時顯著降低運營…

Spring Boot 實戰詳解:從靜態資源到 Thymeleaf 模板引擎

Spring Boot 憑借其 "約定大于配置" 的理念&#xff0c;極大簡化了 Java 應用開發流程。本文將從 Spring Boot 核心特性出發&#xff0c;詳細解析靜態資源映射規則、Thymeleaf 模板引擎的使用&#xff0c;并結合完整實戰案例&#xff0c;幫助開發者快速上手 Spring B…

docker的鏡像與推送

docker build# 1. 基本構建命令&#xff08;使用當前目錄的 Dockerfile&#xff09; docker build .# 2. 指定 Dockerfile 路徑和構建上下文 docker build -f /path/to/Dockerfile /path/to/build/context# 3. 為鏡像設置名稱和標簽 docker build -t my-image:latest .# 4. 設置…

計算機網絡學習----域名解析

在互聯網世界中&#xff0c;我們習慣通過域名&#xff08;如www.example.com&#xff09;訪問網站&#xff0c;而非直接記憶復雜的 IP 地址&#xff08;如 192.168.1.1&#xff09;。域名與 IP 地址之間的轉換過程&#xff0c;就是域名解析。它是互聯網通信的基礎環節&#xff…

構建高性能推薦系統:MixerService架構解析與核心實現

——深入剖析推薦服務的分層設計、工作流引擎與高可用策略 一、整體架構與分層設計 該推薦服務采用經典分層架構模式?7&#xff0c;各層職責清晰&#xff1a; ?HTTP接口層? 支持 GET/POST 請求解析&#xff0c;自動映射參數到 RcmdReq 協議對象統一錯誤處理&#xff1a;參…

【安全漏洞】隱藏服務器指紋:Nginx隱藏版本號配置修改與重啟全攻略

?? 隱藏服務器指紋:Nginx配置修改與重啟全攻略 你是否知道,默認情況下Nginx會在HTTP響應頭中暴露版本號?這個看似無害的Server: nginx/1.x.x字段,實則可能成為黑客的"藏寶圖"。今天我們就來揭秘如何通過簡單配置提升服務器安全性,并手把手教你完成Windows環境…

構建RAG智能體(2):運行狀態鏈

在現代AI應用開發中&#xff0c;如何讓聊天機器人具備記憶能力和上下文理解是一個核心挑戰。傳統的無狀態對話系統往往無法處理復雜的多輪對話場景&#xff0c;特別是當用戶需要提供多種信息來完成特定任務時。 本文就來討論一下如何利用runnable來編排更有趣的語言模型系統&a…

RPA認證考試全攻略:如何高效通過uipath、實在智能等廠商考試

rpa認證考試有什么作用&#xff1f;數字洪流席卷全球&#xff0c;企業效率之爭已進入秒級戰場。當重復性工作吞噬著創造力&#xff0c;RPA&#xff08;機器人流程自動化&#xff09;技術正以前所未有的速度重塑職場生態。財務對賬、報表生成、跨系統數據搬運……這些曾經耗費人…

淺析MySQL事務隔離級別

MySQL 的事務隔離級別定義了多個并發事務在訪問和修改相同數據時&#xff0c;彼此之間的可見性和影響程度。它解決了并發事務可能引發的三類核心問題&#xff1a; 臟讀&#xff1a; 一個事務讀取了另一個未提交事務修改的數據。不可重復讀&#xff1a; 一個事務內多次讀取同一行…