redis 命令大全整理

http://doc.redisfans.com/
原網址

Redis 命令分類

Key(鍵)

Key(鍵)命令

  • exists/del/keys/type/scan
  • object/move/dump/migrate
  • ttl/pttl/persist/expireat/pexpireat/expire/pexpire
  • rename/renamenx
  • sort/randomkey/restore
exists
語法:exists key [key ...] 檢查一個或多個 key 是否存在,返回存在的 key 數量,時間復雜度為 o(n),n 為檢查的 key 數量。
示例:
redis> exists name
(integer) 1
redis> exists name type
(integer) 2del
語法:del key [key ...] 刪除單個列表、集合、有序集合或哈希表類型的 key ,時間復雜度為 o(m),m 為以上數據結構內的元素數量。
示例:
redis> del name
(integer) 1
redis> del name type website
(integer) 3keys
語法:keys pattern 查找所有符合給定模式的 key,模式支持通配符(*、? 等),返回匹配的 key 列表,時間復雜度為 o(n),n 為數據庫中 key 的數量。
示例:
redis> keys n*
1) "name"
2) "nickname"type
語法:type key 返回 key 的值類型,如 string、hash、list 等,時間復雜度為 o(1)。
示例:
redis> type name
stringscan
語法:scan cursor [match pattern] [count count] 以游標方式迭代數據庫中的 key,返回游標和 key 列表,時間復雜度為 o(n),n 為數據庫中 key 的數量。
示例:
redis> scan 0
1) "0"
2) 1) "name"2) "type"
object
語法:object subcommand [arguments ...] 查詢和操作 key 對應對象的底層實現細節,如內存使用、編碼方式等,時間復雜度根據子命令不同而不同。
示例:
redis> object encoding name
"embstr"move
語法:move key db 將 key 移動到指定數據庫,返回 1 表示成功,0 表示失敗,時間復雜度為 o(1)。
示例:
redis> move name 1
(integer) 1dump
語法:dump key 返回 key 的序列化值,用于數據遷移,時間復雜度為 o(m),m 為 key 對應值的元素數量。
示例:
redis> dump name
"\x80\x04\x95\x03\x00\x00\x00\x00\x00\x00\x00\x8c\x04name\x94."migrate
語法:migrate host port key destination-db timeout [copy] [replace] [keys key ...] 將一個或多個 key 從當前實例遷移到目標實例,時間復雜度為 o(m),m 為 key 對應值的元素數量。
示例:
redis> migrate 192.168.1.100 6379 name 0 5000
okttl
語法:ttl key 返回 key 的剩余過期時間(秒),負值表示 key 不存在或沒有過期時間,時間復雜度為 o(1)。
示例:
redis> ttl name
(integer) 300pttl
語法:pttl key 返回 key 的剩余過期時間(毫秒),負值表示 key 不存在或沒有過期時間,時間復雜度為 o(1)。
示例:
redis> pttl name
(integer) 300000persist
語法:persist key 移除 key 的過期時間,返回 1 表示成功,0 表示 key 不存在或沒有過期時間,時間復雜度為 o(1)。
示例:
redis> persist name
(integer) 1expireat
語法:expireat key timestampkey 設置過期時間戳(秒級時間戳),返回 1 表示成功,0 表示 key 不存在或過期時間未設置,時間復雜度為 o(1)。
示例:
redis> expireat name 1622589600
(integer) 1pexpireat
語法:pexpireat key milliseconds-timestampkey 設置過期時間戳(毫秒級時間戳),返回 1 表示成功,0 表示 key 不存在或過期時間未設置,時間復雜度為 o(1)。
示例:
redis> pexpireat name 1622589600000
(integer) 1expire
語法:expire key seconds 為 key 設置過期時間(秒),返回 1 表示成功,0 表示 key 不存在或過期時間未設置,時間復雜度為 o(1)。
示例:
redis> expire name 300
(integer) 1pexpire
語法:pexpire key milliseconds 為 key 設置過期時間(毫秒),返回 1 表示成功,0 表示 key 不存在或過期時間未設置,時間復雜度為 o(1)。
示例:
redis> pexpire name 300000
(integer) 1rename
語法:rename key newkey 將 key 重命名為 newkey,若 newkey 已存在則覆蓋,時間復雜度為 o(1)。
示例:
redis> rename name username
okrenamenx
語法:renamenx key newkey 只有 newkey 不存在時才將 key 重命名為 newkey,返回 1 表示成功,0 表示失敗,時間復雜度為 o(1)。
示例:
redis> renamenx name username
(integer) 1sort
語法:sort key [by pattern] [limit offset count] [get pattern [get pattern ...]] [asc|desc] [alpha] [store destination] 對列表、集合或有序集合的元素進行排序,返回排序后的元素列表,時間復雜度為 o(n+m log m),n 為集合中元素數量,m 為返回元素數量。
示例:
redis> sort scores
1) "30"
2) "50"
3) "10"randomkey
語法:randomkey 返回數據庫中隨機 key,返回隨機 key,若數據庫為空則返回 null,時間復雜度為 o(1)。
示例:
redis> randomkey
"website"restore
語法:restore key ttl value [replace] 使用序列化值恢復 key,可設置過期時間,時間復雜度為 o(m),m 為 key 對應值的元素數量。
示例:
redis> restore name 300 "\x80\x04\x95\x03\x00\x00\x00\x00\x00\x00\x00\x8c\x04name\x94."
ok

String(字符串)

  • strlen/append
  • bitop/bitcount
  • incr/incrby/decr/decrby/incrbyfloat
  • set/get/mset/mget/setbit/getbit/getset
  • setex/setnx/msetnx/psetex
  • setrange/getrange
strlen
語法:strlen key 獲取 key 所儲存的字符串值的長度,返回長度值,時間復雜度為 O(1)。
示例:
redis> set name "John"
OK
redis> strlen name
(integer) 4append
語法:append key valuevalue 追加到 key 所存儲的字符串值的末尾,返回字符串的新長度,時間復雜度為 O(1)。
示例:
redis> append name " Smith"
(integer) 10
redis> get name
"John Smith"bitop
語法:bitop operation destkey key [key ...] 對一個或多個 key 的二進制位進行位運算,存儲結果于 destkey ,返回結果字符串的長度,時間復雜度為 O(N),N 為輸入字符串中最大的長度。
示例:
redis> set bitkey1 "\x01"
OK
redis> set bitkey2 "\x02"
OK
redis> bitop or bitkey_or bitkey1 bitkey2
(integer) 1bitcount
語法:bitcount key [start end] 計算 key 所儲存的字符串中,值為 1 的比特位的數量,可指定范圍,返回計數結果,時間復雜度為 O(N),N 為字符串長度。
示例:
redis> set binary "\x01\x02\x03"
OK
redis> bitcount binary
(integer) 8incr
語法:incr keykey 所儲存的值加 1 ,若值不是整數則報錯,返回結果值,時間復雜度為 O(1)。
示例:
redis> set count 10
OK
redis> incr count
(integer) 11incrby
語法:incrby key increment 將 key 所儲存的值加上指定的 increment ,若值不是整數則報錯,返回結果值,時間復雜度為 O(1)。
示例:
redis> set count 10
OK
redis> incrby count 5
(integer) 15incrbyfloat
語法:incrbyfloat key increment 將 key 所儲存的值加上指定的浮點數 increment ,返回結果值,時間復雜度為 O(1)。
示例:
redis> set count 10.5
OK
redis> incrbyfloat count 2.3
"12.8"decr
語法:decr keykey 所儲存的值減 1 ,若值不是整數則報錯,返回結果值,時間復雜度為 O(1)。
示例:
redis> set count 10
OK
redis> decr count
(integer) 9decrby
語法:decrby key decrement 將 key 所儲存的值減去指定的 decrement ,若值不是整數則報錯,返回結果值,時間復雜度為 O(1)。
示例:
redis> set count 10
OK
redis>

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

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

相關文章

React中useDeferredValue與useTransition終極對比。

文章目錄 前言一、核心差異對比二、代碼示例對比1. useDeferredValue:延遲搜索結果更新2. useTransition:延遲路由切換 三、應用場景總結四、注意事項五、原理剖析1. 核心機制對比2. 關鍵差異3. 代碼實現原理 總結 前言 在React的并發模式下&#xff0c…

高并發內存池|定長內存池的設計

二、定長內存池的設計 設計一個定長的內存池,這個內存池的定長在于,當剩余空間使用完畢后,總是開辟相同長度的新空間來使用。我們會使用到一個指針來切割劃分大空間為小空間。大空間是內存池向系統申請的內存大小,而小空間是程序…

微信小程序 自定義圖片分享-繪制數據圖片以及信息文字

一 、需求 從數據庫中讀取頭像,姓名電話等信息,當分享給女朋友時,每個信息不一樣 二、實現方案 1、先將數據庫中需要的頭像姓名信息讀取出來加載到data 數據項中 data:{firstName:, // 姓名img:, // 頭像shareImage:,// 存儲臨時圖片 } 2…

從零開始理解Jetty:輕量級Java服務器的入門指南

目錄 一、Jetty是什么?先看一個生活比喻 二、5分鐘快速入門:搭建你的第一個Jetty服務 步驟1:Maven依賴配置 步驟2:編寫簡易Servlet(廚房廚師) 步驟3:組裝服務器(餐廳開業準備&am…

深入淺出IIC協議 - 從總線原理到FPGA實戰開發 -- 第一篇:I2C總線協議深度解剖

第一篇:I2C總線協議深度解剖 副標題 : 兩根線如何征服千億設備?詳解硬件工程師必須掌握的通信奧義 1. 為什么I2C仍是嵌入式經典? 1.1 總線拓撲的哲學 拓撲對比圖 SPI需4線N片選 vs I2C僅2線級聯 UART點對點 vs I2C多主從架構 成本控制實…

MySQL 索引優化以及慢查詢優化

在數據庫性能優化中,索引優化和慢查詢優化是兩個關鍵環節。合理使用索引可以顯著提高查詢效率,而識別和優化慢查詢則能提升整體數據庫性能。本文將詳細介紹MySQL索引優化和慢查詢優化的方法和最佳實踐。 一、MySQL 索引優化 1.1 索引的基本概念 索引是…

vue使用Pinia實現不同頁面共享token

文章目錄 一、概述二、使用步驟安裝pinia在vue應用實例中使用pinia在src/stores/token.js中定義store在組件中使用store登錄成功后,將token保存pinia中向后端API發起請求時,攜帶從pinia中獲取的token 三、參考資料 一、概述 Pinia是Vue的專屬狀態管理庫…

通俗版解釋CPU、核心、進程、線程、協程的定義及關系

通俗版解釋(比喻法) 1. CPU 和核心 CPU 一個工廠(負責干活的總部)。核心 工廠里的車間(比如工廠有4個車間,就能同時處理4個任務)。 2. 進程 進程 一家獨立運營的公司(比如一家…

用 VS Code / PyCharm 編寫你的第一個 Python 程序

用ChatGPT做軟件測試 編寫你的第一個 Python 程序——不只是“Hello, World”,而是構建認知、習慣與未來的起點 “第一行代碼,是一個開發者認知世界的方式。” 編程的入門,不只是運行一個字符串輸出,更是開始用計算機思維來理解、…

amd架構主機構建arm架構kkfileview

修改本機使用鏡像倉庫地址 vim /etc/docker/daemon.json {“experimental”: true, “registry-mirrors”: [ “https://docker.m.daocloud.io”, “https://docker.1panel.live”, “http://mirrors.ustc.edu.cn/”, “http://mirror.azure.cn/”, “https://docker.hpcloud.c…

[Linux] vim及gcc工具

目錄 一、vim 1.vim的模式 2.vim的命令集 (1):命令模式 (2):底行模式 3.vim配置 二、gcc 1.gcc格式及選項 2.工作布置 三、自動化構建工具makefile 1.基本使用方法 2.配置文件解析 3.拓展 在linux操作系統的常用工具中,常用vim來進行程序的編寫&#xff1b…

數據庫3——視圖及安全性

視圖及安全性 學習內容學習感受 學習內容 一、實驗目的與要求: 1、設計用戶子模式 2、根據實際需要創建用戶角色及用戶,并授權 3、針對不同級別的用戶定義不同的視圖,以保證系統的安全性 二、實驗內容: 1、 先創建四類用戶角色&…

Oracle數據庫如何進行冷備份和恢復

數據庫的冷備份指的是數據庫處于關閉或者MOUNT狀態下的備份,備份文件包括數據文件、日志文件和控制文件。數據庫冷備份所用的時間主要受數據庫大小和磁盤I/O性能的影響。由于數據庫需要關閉才能進行冷備份,所以這種備份技術并不適用724小時的系統。盡管冷…

SAP HCM 0008數據存儲邏輯

0008信息類型:0008信息類型是存儲員工基本薪酬的地方,因為很多企業都會都薪酬帶寬,都會按崗定薪,所以在上線前為體現工資體系的標準化,都會在配置對應的薪酬關系,HCM叫間接評估,今天我們就分析下…

FPGA在光譜相機中的核心作用

FPGA(現場可編程門陣列)作為光譜相機的核心控制與加速單元,通過硬件級并行處理能力和動態可編程特性,實現高速、高精度的光譜數據采集與處理。以下是其具體作用分類: 一、高速光電信號處理 ?實時光譜復原? 通過硬…

入門OpenTelemetry——部署OpenTelemetry

OpenTelemetry 部署模式 OpenTelemetry Collector 按部署方式分為 Agent 和Gateway 模式。 Agent 模式 在 Agent 模式下,OpenTelemetry 檢測的應用程序將數據發送到與應用程序一起駐留的(收集器)代理。然后,該代理程序將接管并…

Windows 上安裝下載并配置 Apache Maven

1. 下載 Maven 訪問官網: 打開 Apache Maven 下載頁面。 選擇版本: 下載最新的 Binary zip archive(例如 apache-maven-3.9.9-bin.zip)。 注意:不要下載 -src 版本(那是源碼包)。 2. 解壓 Mave…

摩方 12 代 N200 迷你主機(Ubuntu 系統)WiFi 抓包環境配置教程

摩方12代N200迷你主機標配 Intel AX201無線網卡,支持 WiFi 6 協議(802.11ax)及藍牙5.2。此網卡兼容主流抓包工具,但需注意: 驅動兼容性:Ubuntu 20.04及以上內核版本(5.4)默認支持AX2…

輕量、優雅、高擴展的事件驅動框架——Hibiscus-Signal

在現代企業級應用中,事件驅動架構(EDA)已成為解耦系統、提升擴展性的利器。今天給大家推薦一個非常優秀的國產輕量級事件驅動框架 —— Hibiscus Signal,它不僅天然整合 Spring Boot,還提供完整的事件生命周期支持&…

集合-進階

Collection collection的遍歷方式 迭代器遍歷 不依賴索引 import java.util.ArrayList; import java.util.Collection; import java.util.Iterator;public class mycollection {public static void main(String[] args) {//1.創建集合并添加元素Collection<String> co…