Redis 常用基本命令

查看所有键

keys命令可用于查看所有键,语法如下
pattern用于匹配key,其中*表示任意个任意字符

keys pattern

键总数
dbsize可用于查看键的总数,语法如下

dbsize

判断键是否存在
exists命令可用于判断一个键是否存在,语法如下

exists key

删除键
del可用于删除指定键,语法如下
返回值为删除键的个数,若删除一个不存在的键,则返回0。

del key [key ...]

查询键的剩余过期时间

ttl key

数据库管理命令
Redis默认有编号为0~15的16个逻辑数据库,每个数据库之间的数据是相互独立的,所有连接默认使用的都是0号数据库。
切换数据库
select命令可用于切换数据库,语法如下

  • 若index超出范围,会报错
select index

清空数据库
flushdb命令会清空当前所选用的数据库,flushall命令会清空0~15号所有的数据库。

string

Redis中的string类型保存的是字节序列(Sequence of bytes),因此任意类型的数据,只要经过序列化之后都可以保存到Redis的string类型中,包括文本、数字甚至是一个对象
set
set命令用于添加string类型的键值对,具体语法如下

SET key value [NX|XX] [EX seconds|PX milliseconds]

各选项含义如下

  • NX:仅在key不存在时set
  • XX:仅在key存在时set
  • EX seconds:设置过期时间,单位为秒
  • PX milliseconds:设置过期时间,单位为毫秒

get
get命令用于获取某个string类型的键对应的值,具体语法如下

GET key

incr
incr命令用于对数值做自增操作,具体语法如下

  • 若key对应的value是整数,则返回自增后的结果,若不是整数则报错,若key不存在则创建并返回1。
INCR key

decr
decr命令用于对数值做自减操作,具体语法如下
若key对应的value是整数,则返回自减后的结果,若不是整数则报错,若key不存在则创建并返回-1。
应用场景
string类型常用于缓存、计数器等场景。

DECR key
list类型

添加元素
向列表中添加元素的命令有lpush、rpush 、linsert,各命令的功能与用法如下
lpush
该命令用于向list左侧添加元素,语法如下

lpush key element [element ...]
示例
lpush l1 a b c

rpush
该命令用于向list右侧添加元素,语法如下

rpush key element [element ...]

linsert
该命令用于向list指定位置添加元素,语法如下

linsert key before|after pivot element
示例
linsert l1 after b new

查询元素
查询list元素的命令有lindexlrange,各命令的功能与用法如下

  • lindex
    该命令用于获取指定索引位置的元素,语法如下
  • index从左到右依次是0,1,2…,从右到左依次是-1,-2,-3…
lindex key index

lrange
该命令用于获取指定范围内的元素列表,语法如下

lrange key start stop
示例
获取list全部元素,命令如下
lrange l1 0 -1


删除list元素的命令有lpop、rpop、lrem,各命令的功能与用法如下
lpop
该命令用于移除并返回list左侧元素,语法如下

lpop key [count]

rpop
该命令用于移除并返回list右侧的元素,语法如下

rpop key [count]

lrem
该命令用于移除list中的指定元素,语法如下

lrem key count element

count参数表示要移除element元素的个数(list中可以存在多个相同的元素),count的用法

  • 若count>0,则从左到右删除最多count个element元素
  • 若count<0,则从右到左删除最多count(的绝对值)个element元素
  • 若count=0,则删除所有的element元素

修改元素
lset命令可用于修改指定索引位置的元素,语法如

lset key index element

llen命令可用于查看list长度,语法如下

llen key
  • 社交应用中,可使用list缓存每个用户发布的最新的N条记录。
  • list可用作异步消息队列。
set类型

add
该命令用于向set中添加元素,语法如下

  • smembers
    该命令用于查询set中的全部元素,语法如下
smembers key
  • srem
    该命令用于移除set中的指定元素,语法如下
srem key member [member ...]
  • spop
    该命令随机移除并返回set中的n个元素,语法如下
spop key [count]
  • srandmember
    该命令随机返回set中的n个元素(不删除),语法如下
srandmember key [count]
  • scard(Cardinality,基数)
    该命令用于查询set中的元素个数,语法如下
scard key
  • sismember
    该命令用于元素是否在set中,语法如下
sismember key element
  • sismember
    该命令用于元素是否在set中,语法如下
sismember key element
``

sinter
该命令用于计算多个集合的交集,语法如下

sinter key [key ...]

sunion
该命令用于计算多个集合的并集,语法如下

sunion key [key ...]

sdiff
该命令用于计算多个集合的差集,语法如下

sdiff key [key ...]

set可用于计算共同关注好友,随机抽奖系统等等。

hash类型

hash类型类似于Java语言中的HashMap,可用于存储键值对。
hset
该命令用于向hash中增加键值对,语法如下
hset
该命令用于向hash中增加键值对,语法如下

hset key field value [field value ...]

hget
该命令用于获取hash中某个键对应的值,语法如下

hget key field

hdel
该命令用于删除hash中的指定的键值对,语法如下

hdel key field [field ...]

hlen
该命令用于查询hash中的键值对个数,语法如下

hlen key

hexists
该命令用于判断hash中的某个键是否存在,语法如下

hexists key field

hkeys
该命令用于返回hash中所有的键,语法如下

hkeys key

hvals
该命令用于返回hash中所有的值,语法如下

hvals key

hgetall
该命令用于返回hash中所有的键与值,语法如下

hgetall key

hash类型可用于缓存对象等。

zset类型

zset(sorted set)被称为有序集合,同set相似,zset中也不会包含相同元素,但不同的是,zset中的元素是有序的。并且zset中的元素并非像list一样按照元素的插入顺序排序,而是按照每个元素的分数(score)排序。
zadd
该命令用于向zset中添加元素,语法如下

ZADD key [NX|XX] score member

zcard
该命令用于计算zset中的元素个数,语法如下

zcard key

zscore
改名用于查看某个元素的分数,语法如下

zscore key member
  • zrank/zrevrank
    这组命令用于计算元素的排名,其中zrank按照score的升序排序,zrevrank则按照降序排序,语法如下
zrank/zrevrank key member

**说明:**名次从0开始。

  • zrem
    该命令用于删除元素,语法如下
zrem key member [member ...]
  • zincrby
    该命令用于增加元素的分数,语法如下
zincrby key increment member
  • zrange
    该命令用于查询指定区间范围的元素,语法如下
zrange key start stop [byscore] [rev] [limit offset count] [withscores]

说明:

  • start/stop:用于指定查询区间,但是在不同模式下,其代表的含义也不相同
    • 默认模式下,start~stop表示的是名次区间,且该区间为闭区间。名次从0开始,且可为负数,-1表示倒数第一,-2表示倒数第二,以此类推。
    • byscore模式下(声明了byscore参数),则start~stop表示的就是分数区间,该区间默认仍为闭区间。在该模式下,可以在startstop前增加(来表示开区间,例如(1 (5,表示的就是(1,5)这个开区间。除此之外,还可以使用-inf+inf表示负无穷和正无穷。
  • byscore:用于切换到分数模式
  • rev:表示降序排序。在byscore模式下使用rev参数需要注意查询区间,start应大于stop。
  • limit:该选项只用于byscore模式,作用和sql语句中的limit一致
  • withscores:用于打印分数

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

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

相关文章

【ARM Cache 系列文章 7.1 – ARMv8/v9 MMU 页表配置详细介绍 02 】

文章目录 Translation table descriptorTable descriptor format页面粒度和地址长度粒度(Granules)48位和52位地址TCR_ELx.DSVTCR_EL2.DSFEAT_LPA块描述符|页描述符紧接上篇文章【ARM Cache 系列文章 7 – ARMv8/v9 MMU 页表配置 01 】 Translation table descriptor</

Flutter 中的 ShrinkWrappingViewPort 小部件:全面指南

Flutter 中的 ShrinkWrappingViewPort 小部件&#xff1a;全面指南 Flutter 是一个由 Google 开发的 UI 框架&#xff0c;它允许开发者使用 Dart 语言来构建跨平台的移动应用。在 Flutter 的布局体系中&#xff0c;ShrinkWrappingViewport 是一个特殊的滚动视图&#xff0c;它…

未来已来:Facebook的数字革命与社交转型

在当今数字化时代&#xff0c;Facebook作为全球最大的社交网络之一&#xff0c;不仅扮演着连接人们的桥梁&#xff0c;更是引领着社交行业的数字革命与转型。本文将深入探讨Facebook如何通过创新技术、改变用户体验以及应对挑战&#xff0c;塑造了未来社交的面貌&#xff0c;以…

ozon卖家精灵,ozon卖家怎么使用

在跨境电商的浪潮中&#xff0c;OZON作为俄罗斯领先的电商平台&#xff0c;吸引了众多卖家争相入驻。然而&#xff0c;面对日益激烈的市场竞争&#xff0c;如何提升店铺的运营效果&#xff0c;成为卖家们迫切需要解决的问题。而OZON卖家精灵作为一款专为OZON卖家打造的辅助工具…

java高级——Collection集合之List探索(包含ArrayList、LinkedList、Vector底层实现及区别,非常详细哦)

java高级——Collection集合之List探索 前情提要文章介绍提前了解的知识点1. 数组2. 单向链表3. 双向链表4. 为什么单向链表使用的较多5. 线程安全和线程不安全的概念 ArrayList介绍1. 继承结构解析1.1 三个标志性接口1.2 AbstractList和AbstractCollection 2. ArrayList底层代…

民国漫画杂志《时代漫画》第32期.PDF

时代漫画32.PDF: https://url03.ctfile.com/f/1779803-1248635561-0ae98a?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了&#xff0c;截止1937年6月战争来临被迫停刊共发行了39期。 ps: 资源来源网络!

java —— 克隆对象、枚举

一、克隆对象 &#xff08;一&#xff09;在基本数据类型中&#xff0c;直接将对象 A 的值赋给对象 B&#xff0c;当更改对象 B 的时候&#xff0c;对象 A 的值保持不变。例如&#xff1a; public static void main(String[] args) {int a5;int ba; //将…

去除字符串中的空格和特殊字符

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 用户在输入数据时&#xff0c;可能会无意中输入多余的空格&#xff0c;或在一些情况下&#xff0c;字符串前后不允许出现空格和特殊字符&#xff0c;…

Beego 使用教程 7:Web 文件上传下载和错误处理

beego 是一个用于Go编程语言的开源、高性能的 web 框架 beego 被用于在Go语言中企业应用程序的快速开发&#xff0c;包括RESTful API、web应用程序和后端服务。它的灵感来源于Tornado&#xff0c; Sinatra 和 Flask beego 官网&#xff1a;http://beego.gocn.vip/ 上面的 bee…

「清新题精讲」Skiers

更好的阅读体验 Skiers Description 给定 n n n 个点的有向无环平面图&#xff0c;求最少多少条从 1 1 1 到 n n n 的路径能覆盖原图的所有边&#xff1f; 1 ≤ n ≤ 5 1 0 3 1\le n\le 5\times10^3 1≤n≤5103 Solution 考虑从 1 1 1 到 n n n 的路径其实是边的链覆…

如何让你的网站能通过域名访问

背景 当我们租一台云服务器&#xff0c;并在上面运行了一个Web服务&#xff0c;我们可以使用云服务器的公网IP地址进行访问&#xff0c;如下&#xff1a; 本文主要记录如何 实现让自己的网站可以通过域名访问。 买域名 可以登录腾讯云等主流公有云平台的&#xff0c;购买域名…

设计模式21——命令模式

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用&#xff0c;主要是下面的UML图可以起到大作用&#xff0c;在你学习过一遍以后可能会遗忘&#xff0c;忘记了不要紧&#xff0c;只要看一眼UML图就能想起来了。同时也请大家多多指教。 命令模式&#xff08;Command&…

ETCD 备份与还原

安装etcdctl 准备看下etcd如何命令行操作&#xff0c;才发现&#xff0c;主机上&#xff0c;只用kubeadm拉起了etcd&#xff0c;但没有etcdctl命令。 # sudo docker ps -a | awk /etcd-master/{print $1} c4e3a57f05d7 26a11608b270 836dabc8e254 找到正在运行的etcd&#xf…

失落的方舟 命运方舟台服怎么下载游戏客户端 游戏账号怎么注册

《失落的方舟》&#xff08;Lost Ark&#xff09;是韩国Smilegate公司精心打造的一款大型多人在线角色扮演游戏&#xff08;MMORPG&#xff09;&#xff0c;以其精美的画面、沉浸式的剧情、类似动作游戏的战斗体验和广阔的开放世界设定&#xff0c;自面世以来便深受全球玩家喜爱…

计算机毕业设计 | SpringBoot+vue仓库管理系统(附源码)

1&#xff0c;绪论 1.1 项目背景 随着电子计算机技术和信息网络技术的发明和应用&#xff0c;使着人类社会从工业经济时代向知识经济时代发展。在这个知识经济时代里&#xff0c;仓库管理系统将会成为企业生产以及运作不可缺少的管理工具。这个仓库管理系统是由&#xff1a;一…

一款高级管理控制面板主题!【送源码】

AdminLTE是一个完全响应的管理模板。基于Bootstrap5框架和JavaScript插件。高度可定制&#xff0c;易于使用。适用于从小型移动设备到大型桌面的多种屏幕分辨率。AdminLTE 是一个基于Bootstrap 3.x的免费高级管理控制面板主题。 https://github.com/almasaeed2010/AdminLTE —…

操作系统真象还原:完善MBR

第3章-完善MBR 这是一个网站有所有小节的代码实现&#xff0c;同时也包含了Bochs等文件 编译器给程序中各符号&#xff08;变量名或函数名等&#xff09;分配的地址&#xff0c;就是各符号相对于文件开头的偏移量 。 section 称为节&#xff0c;在有的编译器中&#xff0c;同…

STM32的时钟介绍

目录 前言1. 简介1.1 时钟是用来做什么的1.2 时钟产生的方式 2. 时钟树的组成2.1 时钟源2.1.1 内部时钟2.1.2 外部时钟 2.2 PLL锁相环2.3 SYSCLK2.4 AHB和HCLK2.5 APB和PCLK2.6 总结 3. STM32时钟的如何进行工作4.我的疑问4.1 使用MSI和HSI有什么区别吗&#xff1f;4.2 MSI的频…

Linux系统编程(五)多线程

目录 一、基本知识点二、线程的编译三、 线程相关函数1. 线程的创建2. 线程的退出3. 线程的等待补充 四、综合举例 一、基本知识点 线程&#xff08;Thread&#xff09;是操作系统能够进行运算调度的最小单位。它被包含在进程之中&#xff0c;是进程中的实际运作单位。一个标准…

【4.vi编辑器使用(下)】

一、vi编辑器的光标移动 二、vi编辑器查找命令 1、命令&#xff1a;:/string 查找字符串 n&#xff1a;继续查找 N&#xff1a;反向继续查找 /^the 查找以the开头的行 /end 查找以 查找以 查找以结尾的行 三、vi编辑器替换命令 1、语法: : s[范围,范围]str1/str2[g] g表示全…