Redis常用命令操作

news2024/10/7 19:17:41
#linux是redis-cli
#普通环境
redis-cli.exe -h host -p port -a password
#集群环境,否则报:(error) MOVED 6918 127.0.0.1:6381
redis-cli.exe -c -h host -p port -a password

#参数说明
#host:远程redis服务器host
#port:远程redis服务端口
#password:远程redis服务密码(无密码的的话就不需要-a参数了)

#输入exit退出客户端

string命令

命令解释
get key获取key的值
set key v设置key的值
del key删除key(应用于所有类型)
incr key将储存的值加上1,返回操作后的结果
decr key将储存的值减去1,返回操作后的结果
incrby key amout加上整数amount,返回操作后的结果
decrby key amout减去整数amount,返回操作后的结果
incrbyfloat key amout加上浮点数amount字符串二进制,返回操作后的结果
append key v将值追加到key当前储存值的末尾,返回操作后字符串的长度
getrange key start end获取下标start到end的字符串
setrange key offset v将字符串看做二进制位串,并将位串中偏移量为offset的二进制位的值
getbit key offset

将字符串看做是二进制位串值为1的二进制位的数量,如果给定了可选的start偏移量和end偏移量,那么只对偏移量指定范围的二进制位进行统计。

bitop operation dest-key key-name [key-name …]

对一个或多个二进制位串进行 并and,或 or,异或XOR,非NOT 在内的任意一种安位运算符操作(bitwise operation),并将计算的结果放到dest -key里面

list命令

命令解释
rpush key [v…]将一个或多个加入列表右端,返回列表的长度
lpush key [v…]将一个或多个加入列表左端,返回列表的长度
rpop key移除并返回最右端的元素,返回移除的元素
lpop key移除并返回列表最左端的元素,返回移除的元素
lindex key size返回下标(偏移量)为size的元素,从0开始
lrange key start end返回从start 到end的元素 包含start和end
ltrim key start end只保留从start 到end的元素 包含start和end

hash命令

命令解释 
hmget hkey key…获取多个值 
hmset hkey key v… 为多个key设置值 
hdel hkey key… 删除多个值并返回 
hlen hkey 返回总数量 
hexists hkey key 检查key是否存在在散列中 
hkeys hkey获取散列中所有key
hvals hkey获取散列中所有值
hgetall hkey获取散列
hincrby hkey key increment为key的值上加上整数increment
hincrbyfloat hkey key increment为key的值上加上浮点数increment

set命令

命令解释
sadd key item …添加多个,返回新添加的个数(已存在的不算)
srem key item…从集合移除多个元素 ,返回被移除元素的数量
sismember key item检查元素item是否在集合中
scard key返回集合总数
smembers key返回所有元素
srandmember key cout随机返回cout个元素 cout为正整数 随机元素不重复 相反可能会出现重复
spop key随机的移除一个元素 并返回已删除的元素
smove key1 key2 item如果key1中包含item 移除key1中的item 添加到key2中,成功返回1 失败返回0
差运算 sdiffstore newkey key key1…将存在于key集合但是不存在key1…集合的其他元素 放到newkey里面(咬掉一口剩下的)
交运算 sinter key…返回所有集合的交集(返回我们都有的的)
交运算 sinterstore newkey key…返回多个集合的交集生成集合newkey
并运算 sunion key…返回我们不重复的所有元素 
并运算 sunion newkey key…结果放到newkey中

zset命令

命令解释
zadd key score member …添加多个
zerm key memer…移除多个
zcard key返回所有成员
zincrby key incremnet member将member成员的分值加上increment
zcount key min max返回分值在 min和max中间的排名
zrank key member返回成员member在集合中的排名
zscore key member返回member的分值
zrange key start stop返回介于两者之间的成员
zrevrank key-name member 返回有序集合里成员member的排名,成员按照分值从大到小排列 
zrevrange key-name start stop [withscores] 返回有序集合给定排名范围内的成员,成员按照分值从大到小排列 
zrangebyscore key min max [withscores] [limit offset count] 返回有序集合中,分值介于min和max之间的所有成员 
zrevrangebyscore key max min [withscores] [limit offset count] 获取有序集合中分值介于min和max之间的所有成员,并按照分值从大到小的顺序来返回它们 
zremrangebyrank key-name start stop 移除有序集合中排名介于start和stop之间的所有成员 
zremrangebyscore key-name min max移除有序集合中分值介于min和max之间的所有成员
zinterstore dest-key key-count key [key ...] [weights weight[weight ...]] [aggregate sum|min|max]对给定的有序集合执行类似于集合的交集运算
zunionstore dest-key key-count key [key ...] [weights weight[weight ...]] [aggregate sum|min|max]对给定的有序集合执行类似于并集的运算

常用命令汇总

redis连接

#本地连接
redis-cli

#远程连接
redis-cli -h host -p port -a password

#验证密码是否正确
AUTH password

#打印字符串
ECHO message 

#查看服务是否运行
PING 

#关闭当前连接
QUIT 

#切换到指定的数据库
SELECT index

redis keys命令 

#删除已存在的key
DEL key

#序列化给定的key并返回序列化的值
DUMP key

#检查给定的key是否存在
EXISTS key 

#为key设置过期时间
EXPIRE key seconds 

#用时间戳的方式给key设置过期时间
EXPIRE key timestamp 

#设置key的过期时间以毫秒计
PEXPIRE key milliseconds 

#查找所有符合给定模式的key
KEYS pattern 

#将当前数据库的key移动到数据库db当中
MOVE key db 

#移除key的过期时间,key将持久保存
PERSIST key

#以毫秒为单位返回key的剩余过期时间
PTTL key

#以秒为单位,返回给定key的剩余生存时间
TTL key

#从当前数据库中随机返回一个key
RANDOMKEY

#修改key的名称
RENAME key newkey

#仅当newkey不存在时,将key改名为newkey
RENAMENX key newkey

#返回key所存储的值的类型
TYPE key

redis字符串命令

SET key value

GET key

#返回key中字符串值的子字符
GETRANGE key start end

#将给定key的值设为value,并返回key的旧值
GETSET key value

#对key所储存的字符串值,获取指定偏移量上的位
GETBIT KEY OFFSET

#获取一个或者多个给定key的值
MGET KEY1 KEY2

#对key所是存储的字符串值,设置或清除指定偏移量上的位
SETBIT KEY OFFSET VALUE

#将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)
SETEX key seconds value

#只有在 key 不存在时设置 key 的值
SETNX key value

#用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始
SETRANGE key offset value

#返回 key 所储存的字符串值的长度
STRLEN key

#同时设置一个或多个 key-value 对
MSET key value [key value ...]

#同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在
MSETNX key value [key value ...] 

#这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位
PSETEX key milliseconds value

#将 key 中储存的数字值增一
INCR key

#将 key 所储存的值加上给定的增量值(increment)
INCRBY key increment

#将 key 所储存的值加上给定的浮点增量值(increment)
INCRBYFLOAT key increment

#将 key 中储存的数字值减一
DECR key

#key 所储存的值减去给定的减量值(decrement) 
DECRBY key decrement

#如果 key 已经存在并且是一个字符串, APPEND 命令将 指定value 追加到改 key 原来的值(value)的末尾
APPEND key value

redis hash命令

#删除一个或多个哈希表字段
HDEL key field1 [field2] 

#查看哈希表 key 中,指定的字段是否存在
HEXISTS key field 

#获取存储在哈希表中指定字段的值
HGET key field 

#获取在哈希表中指定 key 的所有字段和值
HGETALL key 

#为哈希表 key 中的指定字段的整数值加上增量 increment
HINCRBY key field increment 

#为哈希表 key 中的指定字段的浮点数值加上增量 increment
HINCRBYFLOAT key field increment 

#获取所有哈希表中的字段
HKEYS key 

#获取哈希表中字段的数量
HLEN key 

#获取所有给定字段的值
HMGET key field1 [field2] 

#同时将多个 field-value (域-值)对设置到哈希表 key 中
HMSET key field1 value1 [field2 value2 ] 

#将哈希表 key 中的字段 field 的值设为 value 
HSET key field value 

#只有在字段 field 不存在时,设置哈希表字段的值
HSETNX key field value 

#获取哈希表中所有值
HVALS key 

#迭代哈希表中的键值对
HSCAN key cursor [MATCH pattern] [COUNT count] 

redis列表命令

#移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
BLPOP key1 [key2 ] timeout 

#移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
BRPOP key1 [key2 ] timeout 

#从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
BRPOPLPUSH source destination timeout 

#通过索引获取列表中的元素
LINDEX key index 

#在列表的元素前或者后插入元素
LINSERT key BEFORE|AFTER pivot value 

#获取列表长度
LLEN key 

#移出并获取列表的第一个元素
LPOP key 

#将一个或多个值插入到列表头部
LPUSH key value1 [value2] 

#将一个值插入到已存在的列表头部
LPUSHX key value 

#获取列表指定范围内的元素
LRANGE key start stop 

#移除列表元素
LREM key count value 

#通过索引设置列表元素的值
LSET key index value 

#对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除
LTRIM key start stop 

#移除并获取列表最后一个元素
RPOP key 

#移除列表的最后一个元素,并将该元素添加到另一个列表并返回
RPOPLPUSH source destination 

#在列表中添加一个或多个值
RPUSH key value1 [value2] 

#为已存在的列表添加值
RPUSHX key value 

redis集合命令

#向集合添加一个或多个成员
SADD key member1 [member2] 

#获取集合的成员数
SCARD key 

#返回给定所有集合的差集
SDIFF key1 [key2] 

#返回给定所有集合的差集并存储在 destination 中
SDIFFSTORE destination key1 [key2] 

#返回给定所有集合的交集
SINTER key1 [key2] 

#返回给定所有集合的交集并存储在 destination 中
SINTERSTORE destination key1 [key2] 

#判断 member 元素是否是集合 key 的成员
SISMEMBER key member 

#返回集合中的所有成员
SMEMBERS key 

#将 member 元素从 source 集合移动到 destination 集合
SMOVE source destination member 

#移除并返回集合中的一个随机元素
SPOP key 

#返回集合中一个或多个随机数
SRANDMEMBER key [count] 

#移除集合中一个或多个成员
SREM key member1 [member2] 

#返回所有给定集合的并集
SUNION key1 [key2] 

#所有给定集合的并集存储在 destination 集合中
SUNIONSTORE destination key1 [key2] 

#迭代集合中的元素
SSCAN key cursor [MATCH pattern] [COUNT count] 

redis有序集合命令 

#向有序集合添加一个或多个成员,或者更新已存在成员的分数
ZADD key score1 member1 [score2 member2] 

#获取有序集合的成员数
ZCARD key 

#计算在有序集合中指定区间分数的成员数
ZCOUNT key min max 

#有序集合中对指定成员的分数加上增量 increment
ZINCRBY key increment member 

#计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中
ZINTERSTORE destination numkeys key [key ...] 

#在有序集合中计算指定字典区间内成员数量
ZLEXCOUNT key min max 

#通过索引区间返回有序集合成指定区间内的成员
ZRANGE key start stop [WITHSCORES] 

#通过字典区间返回有序集合的成员
ZRANGEBYLEX key min max [LIMIT offset count] 

#通过分数返回有序集合指定区间内的成员
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT] 

#返回有序集合中指定成员的索引
ZRANK key member 

#移除有序集合中的一个或多个成员
ZREM key member [member ...] 

#移除有序集合中给定的字典区间的所有成员
ZREMRANGEBYLEX key min max 

#移除有序集合中给定的排名区间的所有成员
ZREMRANGEBYRANK key start stop 

#移除有序集合中给定的分数区间的所有成员
ZREMRANGEBYSCORE key min max 

#返回有序集中指定区间内的成员,通过索引,分数从高到底
ZREVRANGE key start stop [WITHSCORES] 

#返回有序集中指定分数区间内的成员,分数从高到低排序
ZREVRANGEBYSCORE key max min [WITHSCORES] 

#返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
ZREVRANK key member 

#返回有序集中,成员的分数值
ZSCORE key member 

#计算给定的一个或多个有序集的并集,并存储在新的 key 中
ZUNIONSTORE destination numkeys key [key ...] 

#迭代有序集合中的元素(包括元素成员和元素分值)
ZSCAN key cursor [MATCH pattern] [COUNT count] 

发布订阅命令 

#订阅一个或多个符合给定模式的频道。
PSUBSCRIBE pattern [pattern ...] 

#查看订阅与发布系统状态。
PUBSUB subcommand [argument [argument ...]] 

#将信息发送到指定的频道
PUBLISH channel message 

#退订所有给定模式的频道
PUNSUBSCRIBE [pattern [pattern ...]] 

#订阅给定的一个或多个频道的信息
SUBSCRIBE channel [channel ...] 

#指退订给定的频道
UNSUBSCRIBE [channel [channel ...]] 

示例:
redis 127.0.0.1:6379> SUBSCRIBE redisChat

Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "redisChat"
3) (integer) 1

现在,我们先重新开启个 redis 客户端,然后在同一个频道 redisChat 发布两次消息,订阅者就能接收到消息。
redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique"

(integer) 1

# 订阅者的客户端会显示如下消息
1) "message"
2) "redisChat"
3) "Redis is a great caching technique"

redis事务命令

#取消事务,放弃执行事务块内的所有命令
DISCARD 

#执行所有事务块内的命令
EXEC

#标记一个事务块的开始
MULTI 

#取消 WATCH 命令对所有 key 的监视
UNWATCH 

#监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断
WATCH key [key ...] 

redis脚本命令

#执行 Lua 脚本
EVAL script numkeys key [key ...] arg [arg ...] 

#执行 Lua 脚本
EVALSHA sha1 numkeys key [key ...] arg [arg ...] 

#查看指定的脚本是否已经被保存在缓存当中
SCRIPT EXISTS script [script ...] 

#从脚本缓存中移除所有脚本
SCRIPT FLUSH 

#杀死当前正在运行的 Lua 脚本
SCRIPT KILL 

#将脚本 script 添加到脚本缓存中,但并不立即执行这个脚本
SCRIPT LOAD script 

服务器命令

#异步执行一个 AOF(AppendOnly File) 文件重写操作
BGREWRITEAOF 

#在后台异步保存当前数据库的数据到磁盘
BGSAVE 

#关闭客户端连接
CLIENT KILL [ip:port] [ID client-id] 

#获取连接到服务器的客户端连接列表
CLIENT LIST 

#获取连接的名称
CLIENT GETNAME 

#在指定时间内终止运行来自客户端的命令
CLIENT PAUSE timeout 

#设置当前连接的名称
CLIENT SETNAME connection-name 

#获取集群节点的映射数组
CLUSTER SLOTS 

#获取 Redis 命令详情数组
COMMAND 

#获取 Redis 命令总数
COMMAND COUNT 

#获取给定命令的所有键
COMMAND GETKEYS 

#返回当前服务器时间
TIME 

#获取指定 Redis 命令描述的数组
COMMAND INFO command-name [command-name ...] 

#获取指定配置参数的值
CONFIG GET parameter 

#对启动 Redis 服务器时所指定的 redis.conf 配置文件进行改写
CONFIG REWRITE 

#修改 redis 配置参数,无需重启
CONFIG SET parameter value 

#重置 INFO 命令中的某些统计数据
CONFIG RESETSTAT 

#返回当前数据库的 key 的数量
DBSIZE 

#获取 key 的调试信息
DEBUG OBJECT key 

#让 Redis 服务崩溃
DEBUG SEGFAULT 

#删除所有数据库的所有key
FLUSHALL 

#删除当前数据库的所有key
FLUSHDB 

#获取 Redis 服务器的各种信息和统计数值
INFO [section] 

#返回最近一次 Redis 成功将数据保存到磁盘上的时间,以 UNIX 时间戳格式表示
LASTSAVE 

#实时打印出 Redis 服务器接收到的命令,调试用
MONITOR 

#返回主从实例所属的角色
ROLE 

#同步保存数据到硬盘
SAVE 

#异步保存数据到硬盘,并关闭服务器
SHUTDOWN [NOSAVE] [SAVE] 

#将当前服务器转变为指定服务器的从属服务器(slave server)
SLAVEOF host port 

#管理 redis 的慢日志
SLOWLOG subcommand [argument] 

#用于复制功能(replication)的内部命令
SYNC 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/726695.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开发人员必备:9个令人惊叹的CSS网格生成器推荐!

微信搜索 【大迁世界】, 我会第一时间和你分享前端行业趋势,学习途径等等。 本文 GitHub https://github.com/qq449245884/xiaozhi 已收录,有一线大厂面试完整考点、资料以及我的系列文章。 快来免费体验ChatGpt plus版本的,我们出的钱 体验地…

【分布式应用】zabbix 二:自定义监控、自动发现与自动注册

目录 一、添加zabbix客户端主机1.1环境设置1.2配置zabbix-angent1.3在 Web 页面中添加 agent 主机 二 、自定义监控内容2.1客户端自定义key2.2在Web页面创建自定义监控模板 三、zabbix自动发现四、zabbix自动注册 一、添加zabbix客户端主机 1.1环境设置 systemctl disable --…

2490. 回环句

句子 是由单个空格分隔的一组单词,且不含前导或尾随空格。 例如,"Hello World"、"HELLO"、"hello world hello world" 都是符合要求的句子。 单词 仅 由大写和小写英文字母组成。且大写和小写字母会视作不同字符。 如果…

查询例题(三道)

一、 写法一: 写法二: 二、 1、内连接: 一个部门下有哪些人,找的相关联的数据 2、左外连接: 以部门表为基准,部门下面没有人,但是也会查询出来 3、右外连接: 以员工表为基准&#…

【Spring 丨数据绑定】

数据绑定 概述Databinder核心属性绑定参数绑定元数据绑定验证 概述 Spring 数据绑定(Data Binding)的作用是将用户的输入动态绑定到应用程序的领域模型JavaBean(或用于处理用户输入的任何对象)。 也就是说,Spring数据绑定机制是将属性值设置到目标对象中。如下图所示…

Bug小能手系列(python)_9: 使用sklearn库报错 module ‘numpy‘ has no attribute ‘int‘

AttributeError: module numpy has no attribute int. 0. 错误介绍1. 环境介绍2. 问题分析3. 解决方法3.1 调用解决3.2 库包中存在报错 4. 总结 首先,对于自己使用代码dtypenp.int报错的情况,建议直接修改为np.int_即可解决,也不用向下看了&a…

Python3安装教程在Unix/Linux操作系统

在Linux操作系统上安装Python3教程,先下载Python3安装包: Python3下载:https://www.python.org/downloads/source/ 选择适用于 Unix/Linux 的源码压缩包。下载及解压压缩包 Python-3.x.x.tgz,3.x.x 为你下载的对应版本号。如果你…

triton客户端使用

model_analyzer 简介: Triton Model Analyzer is a CLI tool which can help you find a more optimal configuration, on a given piece of hardware, for single, multiple, ensemble, or BLS models running on a Triton Inference Server. Model Analyzer wil…

SSM框架训练 实现各个功能时遇到的常见问题

快速复制当前代码到下一行:ctrlD 格式化代码(快速整理代码):ctrilaltL 一步一步来,后续会不停添加功能。 先创建项目结构:搭建框架 (36条消息) SSM框架模板(高配:一次性配完所有…

指针进阶1

目录 本章将学习 1字符指针 2数组指针与指针数组 3数组传参与指针传参 复习指针初阶基本知识点 1指针是个地址(编号),指针变量是存放指针的变量,但是我们平常所说的指针就是指的指针变量,指针变量的大小有4(32位平…

解决Quixel Bridge导出到Blender3.1失败port 28888

文章目录 前言一、错误情景二、解决办法总结 前言 解决Quixel Bridge导出到Blender3.1报错无法经由端口28888导出. 一、错误情景 导出插件显示已安装完成: 但是点击右下角导出报错无法从端口28888执行该操作. 我尝试过把MSPlugin插件手动安装到Blender3.1但这并不奏效. 二、解…

聚观早报|Threads上线7小时注册破千万;兰博基将终结燃油车生产

今日要闻:Threads上线7小时注册破千万;兰博基尼宣布将终结燃油车生产;腾讯旗下企鹅FM9月6日正式停止运营;ChatGPT暂停接入必应搜索功能;首个国产GLP-1“减肥药”获批 Threads上线7小时注册破千万 7 月 6 日消息&#…

Windows 基本概念和术语

Windows 基本概念和术语 Windows APIWindows API 的风格Windows 运行时.NET Framework 服务、函数和例程进程使用任务管理器查看进程信息父进程 线程纤程用户模式调度线程 作业虚拟内存内核模式和用户模式虚拟机监控程序固件终端服务和多会话对象和句柄安全性注册表Unicode总结…

google软件测试之道

目录 前言: 一、Google软件测试介绍 1)质量不等于测试 2)角色、职责 3)组织结构 4)测试版本 5)测试类型: 二、软件测试开发工程师,SET 1)SET的工作 2&#xff…

JVM 三色标记算法

我们要进行垃圾回收,就需要弄明白哪些对象是需要回收的,哪些对象是不需要回收的。针对这个问题,其实业界已经有几种常见的解决方法了。 第一种是计数法 第一种是计数法,就是每个对象都有一个计数器,被引用了加一&…

4.2 x64dbg 针对PE文件的扫描

通过运用LyScript插件并配合pefile模块,即可实现对特定PE文件的扫描功能,例如载入PE程序到内存,验证PE启用的保护方式,计算PE节区内存特征,文件FOA与内存VA转换等功能的实现,首先简单介绍一下pefile模块。 …

uuid-golang中的使用---借鉴使用官网的办法--推荐

写在最前面的话,golang因为是国外开发的,官网,github都是网速卡或者不能使用的,这个时候可以使用国内的,搜索软件包或者下载 https://gitee.com/ 如果可以使用的话,建议从下面两个网站使用, …

Petronas 使用 SAP EWM 的 Liquid UI 离线将运营效率提高了 70%

背景 Petroliam Nasional Berhad(也称为“Petronas”)总部位于马来西亚,是一家充满活力的国际能源公司,业务遍及100多个国家,在各种石油相关活动方面拥有30多年的经验。马来西亚国家石油公司生产在道德和可持续方面推…

数据结构【树】

数据结构与算法之树结构 树的定义树的基本术语树结构和线性结构的比较树的应用 树的定义 树是一种非线性的数据结构,它是一个包含n(n>1)个节点,(n-1)条边的有穷集合。树有多种表现形式,把它叫做“树”是因为它看起来像一个倒挂的树&#…

redis主从(windows版本)

1. 下载redis 1.1、Github下载地址:Releases microsoftarchive/redis GitHub 1.2、百度网盘下载地址:Redis-x64-3.2.100.zip 密码:kdfq 1.3、也可以自行从其它地方下载 2.配置redis主,设置服务,然后启动 端口…