百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

redis基本常用命令,看这一篇就够了

wptr33 2025-01-31 15:37 16 浏览

连接

redis-cli -h host -p port -a password

数据类型

    1. string
    2. hash
    3. list
    4. set
    5. Zset(有序集合)

基本命令

  • Key
    • Del key
    • Exists key
    • Expire key 以秒计设置过期时间
    • Keys * 查看所有key
    • move key db
    • persist key 移除key过期时间
  • String
    • set key value
    • get key
    • Mget key1 […] 获取多个key
    • mset key value key2 value2 …
    • getset key value 设定新的值,返回旧值
    • setex key seconds value 设置值和过期时间
    • setnx key value 当key不存在时设置值
    • Incr key 设定值增1
    • incby key increment 设置增指定数字
    • decr key 设定值减1
    • append key value 增加到值末尾
  • Hash(存储对象)
    • hmset key field value field value…
    • Set key field value
    • Hdel key field1 field2 …
    • hexists key field
    • Hget key field
    • hmget key field field2 …
    • hgetAll key
    • hkeys key 获取hash表中所有字段
    • hlen key
    • Hvals key 获取hash表中的所有值
    • hsetnx key field value 在field不存在时设置value
  • List(数据可重复,双向链表)
    • LPush key value1 value2 …将一个或多个值插入到列表头部
    • Lpushx key value 将一个值插入到列表头部
    • Rpush
    • Rpushx
    • Lset key index value 通过索引设置值
    • Blpop key1 key2 … timeout 弹出第一个元素 没有则等待
    • Brpop key1 key2 … timeout 弹出最后一个元素 没有则等待
    • lpop
    • rpop
    • llen key 获取长度
    • lrange key 0 10 获取0-10角标的元素
    • lrem key count value 移除列表元素
    • Ltrim key start stop 保留区间内的数据
  • set(元素不可重复)可返回差集交集子集
    • sadd key member1 [mermber2] ..添加一个或多个成员
    • Scard 获取成员数量
    • sismember key member 判断成员是否存在
    • smembers key 返回集合所有成员
    • Spop key 移除并返回一个随机数
    • srandmember key count 返回多个随机数
    • srem key member1 member2 移除一个或多个成员
  • Zset(有序集合,不可重复)
    • zadd key score1 member1 [score2 member2]
    • zCard key
    • zrange key start stop [WITHSCORES] 返回指定区间的成员
    • zrevrange key start stop [WITHSCORES] 返回有序集中指定区间内的成员,通过索引,分数从高到低
    • Zrevrangebyscore key max min [] 分数从高到底
    • Zrevrank 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
    • zrank key number 返回指定成员的索引
    • zrem key member1 [] 移除指定会员
  • Pub/sub发布订阅(不能保留发布的消息
    • publish channel message 将信息发送到指定频道
    • Subscribe channel [] 订阅一个或多个频道
    • psubscribe pattern 正则匹配订阅一个或多个
    • Unsubscribe channel [] 退订频道
    • punsubcribe pattern [] 退订所有频道
  • 事务(当事务发生错误时,已经执行的命令不能够进行回滚)
    • Multi 事务开始执行
    • set key value
    • hset key field value
    • Discard 取消事物
    • Exec 执行事物
    • Watch 监视key 有变动将被打断
  • GEO 地理位置坐标
    • geoadd:添加地理位置的坐标。
    • geopos:获取地理位置的坐标。
    • geodist:计算两个位置之间的距离。
    • georadius:根据用户给定的经纬度坐标来获取指定范围内的地理位置集合。
    • georadiusbymember:根据储存在位置集合里面的某个地点获取指定范围内的地理位置集合。
    • geohash:返回一个或多个位置对象的 geohash 值。
  • stream 消息队列
    • Xadd key * field value 【field value】 添加消息到末尾
    • xdel
    • xrange
    • xrevrange 反向获取
    • xread 读取消息
    • XGROUP CREATE - 创建消费者组
    • XREADGROUP GROUP - 读取消费者组中的消息
    • XACK - 将消息标记为"已处理"
    • XGROUP SETID - 为消费者组设置新的最后递送消息ID
    • XGROUP DELCONSUMER - 删除消费者
    • XGROUP DESTROY - 删除消费者组
    • XPENDING - 显示待处理消息的相关信息
    • XCLAIM - 转移消息的归属权
    • XINFO - 查看流和消费者组的相关信息;
    • XINFO GROUPS - 打印消费者组的信息;
    • XINFO STREAM - 打印流信息

相关推荐

每天一个编程技巧!掌握这7个神技,代码效率飙升200%

“同事6点下班,你却为改BUG加班到凌晨?不是你不努力,而是没掌握‘偷懒’的艺术!本文揭秘谷歌工程师私藏的7个编程神技,每天1分钟,让你的代码从‘能用’变‘逆天’。文末附《Python高效代码模板》,...

Git重置到某个历史节点(Sourcetree工具)

前言Sourcetree回滚提交和重置当前分支到此次提交的区别?回滚提交是指将改动的代码提交到本地仓库,但未推送到远端仓库的时候。...

git工作区、暂存区、本地仓库、远程仓库的区别和联系

很多程序员天天写代码,提交代码,拉取代码,对git操作非常熟练,但是对git的原理并不甚了解,借助豆包AI,写个文章总结一下。Git的四个核心区域(工作区、暂存区、本地仓库、远程仓库)是版本控制的核...

解锁人生新剧本的密钥:学会让往事退场

开篇:敦煌莫高窟的千年启示在莫高窟321窟的《降魔变》壁画前,讲解员指着斑驳色彩说:"画师刻意保留了历代修补痕迹,因为真正的传承不是定格,而是流动。"就像我们的人生剧本,精彩章节永远...

Reset local repository branch to be just like remote repository HEAD

技术背景在使用Git进行版本控制时,有时会遇到本地分支与远程分支不一致的情况。可能是因为误操作、多人协作时远程分支被更新等原因。这时就需要将本地分支重置为与远程分支的...

Git恢复至之前版本(git恢复到pull之前的版本)

让程序回到提交前的样子:两种解决方法:回退(reset)、反做(revert)方法一:gitreset...

如何将文件重置或回退到特定版本(怎么让文件回到初始状态)

技术背景在使用Git进行版本控制时,经常会遇到需要将文件回退到特定版本的情况。可能是因为当前版本出现了错误,或者想要恢复到之前某个稳定的版本。Git提供了多种方式来实现这一需求。...

git如何正确回滚代码(git命令回滚代码)

方法一,删除远程分支再提交①首先两步保证当前工作区是干净的,并且和远程分支代码一致$gitcocurrentBranch$gitpullorigincurrentBranch$gi...

[git]撤销的相关命令:reset、revert、checkout

基本概念如果不清晰上面的四个概念,请查看廖老师的git教程这里我多说几句:最开始我使用git的时候,我并不明白我为什么写完代码要用git的一些列指令把我的修改存起来。后来用多了,也就明白了为什么。gi...

利用shell脚本将Mysql错误日志保存到数据库中

说明:利用shell脚本将MYSQL的错误日志提取并保存到数据库中步骤:1)创建数据库,创建表CreatedatabaseMysqlCenter;UseMysqlCenter;CREATET...

MySQL 9.3 引入增强的JavaScript支持

MySQL,这一广泛采用的开源关系型数据库管理系统(RDBMS),发布了其9.x系列的第三个更新版本——9.3版,带来了多项新功能。...

python 连接 mysql 数据库(python连接MySQL数据库案例)

用PyMySQL包来连接Python和MySQL。在使用前需要先通过pip来安装PyMySQL包:在windows系统中打开cmd,输入pipinstallPyMySQL ...

mysql导入导出命令(mysql 导入命令)

mysql导入导出命令mysqldump命令的输入是在bin目录下.1.导出整个数据库  mysqldump-u用户名-p数据库名>导出的文件名  mysqldump-uw...

MySQL-SQL介绍(mysql sqlyog)

介绍结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同...

MySQL 误删除数据恢复全攻略:基于 Binlog 的实战指南

在MySQL的世界里,二进制日志(Binlog)就是我们的"时光机"。它默默记录着数据库的每一个重要变更,就像一位忠实的史官,为我们在数据灾难中提供最后的救命稻草。本文将带您深入掌握如...