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.mzph.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…