Redis非关系型数据库操作命令大全

server/2024/10/15 14:45:02/

以下是 Redis 的常用操作命令大全,涵盖了键值操作、字符串、哈希、列表、集合、有序集合、发布/订阅、事务等多个方面的操作。

1. 通用键命令

命令说明
SET key value设置指定 key 的值
GET key获取指定 key 的值
DEL key删除指定的 key
EXISTS key检查 key 是否存在
EXPIRE key seconds设置 key 的过期时间(秒)
TTL key查看 key 的剩余生存时间(秒)
KEYS pattern查找符合给定模式的 key
RENAME oldkey newkey重命名 key
TYPE key查看 key 的数据类型
PERSIST key移除 key 的过期时间,使其永久存在

2. 字符串操作

命令说明
SET key value设置 key 的值
GET key获取 key 的值
SETEX key seconds value设置 key 的值并指定过期时间(秒)
INCR key将 key 的值加1(自增)
DECR key将 key 的值减1(自减)
APPEND key value追加字符串到 key 的值末尾
STRLEN key返回 key 所储存的字符串值的长度
MSET key1 value1 key2 value2同时设置多个 key 的值
MGET key1 key2 ...获取多个 key 的值
SETNX key value当 key 不存在时,设置 key 的值

3. 哈希操作

命令说明
HSET key field value向哈希表 key 中的字段 field 赋值
HGET key field获取哈希表 key 中指定字段的值
HGETALL key获取哈希表 key 中所有字段和值
HDEL key field删除哈希表 key 中的指定字段
HEXISTS key field检查哈希表 key 中是否存在指定字段
HLEN key获取哈希表 key 中字段的数量
HMSET key field1 value1 field2 value2 ...同时为哈希表 key 设置多个字段的值
HMGET key field1 field2 ...获取哈希表 key 中多个字段的值
HINCRBY key field increment为哈希表 key 中的指定字段值加上增量

4. 列表操作

命令说明
LPUSH key value在列表的左端(头部)插入值
RPUSH key value在列表的右端(尾部)插入值
LPOP key移除并返回列表的头元素
RPOP key移除并返回列表的尾元素
LLEN key返回列表 key 的长度
LRANGE key start stop返回列表 key 中指定区间内的元素
LINDEX key index返回列表 key 中,指定下标的元素
LSET key index value设置列表 key 下标为 index 的元素值
LREM key count value移除列表中与 value 相等的元素,count 为移除的数量

5. 集合(Set)操作

命令说明
SADD key value向集合 key 中添加元素
SREM key value移除集合 key 中的指定元素
SMEMBERS key返回集合 key 中的所有元素
SISMEMBER key value检查 value 是否是集合 key 的成员
SCARD key返回集合 key 中元素的数量
SDIFF key1 key2 ...返回集合 key1 与其他集合的差集
SINTER key1 key2 ...返回集合 key1 与其他集合的交集
SUNION key1 key2 ...返回集合 key1 与其他集合的并集

6. 有序集合(Sorted Set)操作

命令说明
ZADD key score value向有序集合 key 中添加元素及其分数
ZREM key value移除有序集合 key 中的指定元素
ZRANGE key start stop [WITHSCORES]返回有序集合 key 中,指定区间内的元素,按分数升序排列
ZREVRANGE key start stop [WITHSCORES]返回有序集合 key 中,指定区间内的元素,按分数降序排列
ZINCRBY key increment value为有序集合 key 中的指定元素的分数加上增量
ZSCORE key value返回有序集合 key 中,元素 value 的分数
ZRANK key value返回有序集合 key 中,指定元素的排名(按分数升序)
ZCOUNT key min max返回有序集合 key 中,分数在 [min, max] 区间内的元素个数

7. 发布/订阅(Pub/Sub)操作

命令说明
PUBLISH channel message将消息 message 发送到指定的频道 channel
SUBSCRIBE channel1 channel2 ...订阅一个或多个频道
UNSUBSCRIBE channel1 channel2 ...取消订阅一个或多个频道
PSUBSCRIBE pattern1 pattern2 ...订阅符合模式 pattern 的频道
PUNSUBSCRIBE pattern1 pattern2 ...取消订阅符合模式 pattern 的频道

8. 事务(Transaction)操作

命令说明
MULTI开始一个事务
EXEC执行所有事务块中的命令
DISCARD取消事务
WATCH key监控一个或多个 key,事务执行前检查是否发生变化
UNWATCH取消监控

9. 持久化操作

命令说明
SAVE同步保存数据到磁盘
BGSAVE异步保存数据到磁盘
LASTSAVE返回上次成功保存到磁盘的时间
SHUTDOWN保存数据到磁盘并关闭服务器

10. 脚本(Scripting)操作

命令说明
EVAL script numkeys key [arg]执行 Lua 脚本
EVALSHA sha1 numkeys key [arg]执行已缓存的 Lua 脚本
SCRIPT LOAD script将 Lua 脚本加载到脚本缓存
SCRIPT FLUSH清除所有已缓存的 Lua 脚本
SCRIPT EXISTS sha1 [sha2 ...]检查脚本是否在缓存

11. 服务器操作

命令说明
INFO获取服务器的各种信息和统计数据
MONITOR实时监控服务器的所有请求
CONFIG GET parameter获取服务器配置
CONFIG SET parameter value修改服务器配置
SLOWLOG查看慢查询日志
DBSIZE返回当前数据库的 key 的数量

这些命令涵盖了 Redis 数据库的核心操作,能够帮助你处理各种数据类型的存储、查询以及事务管理等功能。


http://www.ppmy.cn/server/132231.html

相关文章

数据结构:用双栈实现一个队列

要用两个栈实现一个队列,可以利用“栈”的后进先出 (LIFO) 特性来模拟“队列”的先进先出 (FIFO) 操作。具体做法是使用两个栈:一个作为入栈栈,另一个作为出栈栈。 算法步骤 入队操作(enqueue): 将元素压…

面试题:Redis(二)

1. 面试题 2. MoreKey案列 事故案例 2.1 生成上如何限制key*/flushdb/flushall等危险命令的使用? 通过redis.conf配置文件中在SECURITY选项中禁用这些命令 2.2 不用key*避免卡顿那用什么? 用scan命令,类似mysql中的limit命令 语法&…

RDD优化:缓存和checkpoint机制、数据共享(广播变量、累加器)、RDD的依赖关系、shuffle过程、并行度说明

文章目录 1. 缓存和checkpoint机制1.1 缓存使用1.2 checkpoint1.3 缓存和checkpoint的区别 2. 数据共享2.1 广播变量2.2 累加器 3. RDD依赖关系4.shuffle过程4.1 shuffle介绍4.2 spark计算要尽量避免shuffle 5. 并行度 1. 缓存和checkpoint机制 缓存和checkpoint也叫作rdd的持…

Tars RPC源码--C++客户端

Communicator: 客户端最重要的一个类,一个客户端只能生成一个Communicator类的实例,CommunicatorPtr& Application::getCommunicator(),获取线程安全的单例。 ServantProxy与ServantProxyFactory ServantProxy是服务代理,可以由Servan…

C/C++逆向:函数逆向分析-总体流程(整型指针)

函数的初始化 在逆向工程中,函数的初始化操作是函数在开始执行时,为正确运行而进行的准备工作。通常,这些操作发生在函数的序言(Prologue)阶段,具体的内容和顺序会因编译器、调用约定和目标平台&#xff0…

Golang | Leetcode Golang题解之第476题数字的补数

题目&#xff1a; 题解&#xff1a; func findComplement(num int) int {highBit : 0for i : 1; i < 30; i {if num < 1<<i {break}highBit i}mask : 1<<(highBit1) - 1return num ^ mask }

Python快速编程小案例——猜数字

提示&#xff1a;&#xff08;个人学习&#xff09;&#xff0c;案例来自工业和信息化“十三五”人才培养规划教材&#xff0c;《Python快速编程入门》第2版&#xff0c;黑马程序员◎编著 猜数游戏是一种经典的密码破译类益智游戏&#xff0c;通常由两个人参与。一个人在心中设…

Unity3D相关知识点总结

Unity3D使用的是笛卡尔三维坐标系&#xff0c;并且是以左手坐标系进行展示的。 1.全局坐标系&#xff08;global&#xff09; 全局坐标系描述的是游戏对象在整个世界&#xff08;场景&#xff09;中的相对于坐标原点&#xff08;0&#xff0c;0&#xff0c;0&#xff09;的位置…