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

Redis 常见命令(redis基本操作命令)

mhr18 2024-10-21 05:43 24 浏览 0 评论

一、redis中的常见数据结构

Redis共有5种常见数据结构,分别字符串(STRING)、列表(LIST)、集合(SET)、散列(HASH)、有序集合(ZSET)。

二、redis中字符串(String)介绍

String 类型是一个 k-v 键值对形式的数据类型,一个 key 对应一个 value。

使用场景:

  1. 计数器
  2. 统计多单位的数量(uid:122:follow 10)
  3. 粉丝数
  4. 对象缓存存储
  5. ...

三、String 常见命令

1.Redis 默认有16个数据库(0~15),默认使用第0个

可以使用 select 进行切换


2.查看数据库大小

使用 dbsize查看数据库大小


3.查看所有的key(当前库)

使用 keys *


4.清除当前数据库

flushdb

5.清空所有数据库

flushall

6.判断key是否存在

exists key

7.移除key

move key 1 // 1 表示移动到哪个数据库

del key // 删除当前数据库的key(可以多个)


8.设置key的过期时间

expire key 时间 // 单位时间为s

ttl key // 查看剩余存活时间


9.查看当前key的类型

type key

10.字符串追加(String)

append key appendValue

如果当前 key 不存在,作用相当于 set key

11.获取字符串长度(String)

strlen key


12.字符串i++操作(可用于阅读量实现)(String)

incr key


同理,i --

decr key

步长设置

incrby key 步长

decrby key 步长


13.字符串片段 Range (String)(Range:范围)

getrange key [startIndex] [endIndex]

对应java里的substring(但是这里会endIndex是一个闭区间)

特例,endIndex = -1 时,表示从startIndex 到最后


14.字符串替换 (String)(Range:范围)

setrange key index replaceString

  • 对应java里的replace
  • 注意,如果replaceString是一个字符串,那么会替换源字符串中index后replaceString长度的片段,结果如下


15.特殊set设置 (String)

setex(set with expire)

setex key 时间 value // 设置值,带过期时间


setnx(set if not exist)

setnx key value // 如果不存在,则设置


16.批量设置、批量获取(原子性操作)(String)

mset k1 v1 k2 v2 …

mget k1 k2 …


  • 特殊 msetnx 批量设置(要么都成功,要么都失败)(原子性)

17.设置高阶 (String)

1)getset

getset key value // 先get再set(如果不存在,先返回nil,在设置值;如果存在,就先返回原值,再设置新值)


18.重命名key

rename key newName


四、List(列表)常见命令

使用场景:

  1. 栈(lpush、lpop)
  2. 队列(lpush、rpop)消息队列
  3. 阻塞队列
  4. ....

1.从头部/尾部 插入 数据,以及数据 显示

lpush key value // 从左边插入一个值

rpush key value // 从右边插入一个值

lrange key 0 -1 // 从下标 0 开始,-1 代表遍历完



2.从头部/尾部 移除 数据

lpop key

rpop key


3.获取 指定索引的值

lindex key index


4.获取列表长度

llen key


5.移除指定的值

lrem key count(移除的个数) element


6.列表修剪 trim

相当于 Java 中的 substring()

ltrim key startIndex endIndex


7.也可以使用set

lset key index value // 将列表中 指定 index 的值替换为对应的 value

  • 需要保证key和index都存在,否则报错


8.插入指定的值

linsert key before|after pivot(那个值后) value


相关推荐

使用 Docker 部署 Java 项目(通俗易懂)

前言:搜索镜像的网站(推荐):DockerDocs1、下载与配置Docker1.1docker下载(这里使用的是Ubuntu,Centos命令可能有不同)以下命令,默认不是root用户操作,...

Spring Boot 3.3.5 + CRaC:从冷启动到秒级响应的架构实践与踩坑实录

去年,我们团队负责的电商订单系统因扩容需求需在10分钟内启动200个Pod实例。当运维组按下扩容按钮时,传统SpringBoot应用的冷启动耗时(平均8.7秒)直接导致流量洪峰期出现30%的请求超时...

《github精选系列》——SpringBoot 全家桶

1简单总结1SpringBoot全家桶简介2项目简介3子项目列表4环境5运行6后续计划7问题反馈gitee地址:https://gitee.com/yidao620/springbo...

Nacos简介—1.Nacos使用简介

大纲1.Nacos的在服务注册中心+配置中心中的应用2.Nacos2.x最新版本下载与目录结构3.Nacos2.x的数据库存储与日志存储4.Nacos2.x服务端的startup.sh启动脚...

spring-ai ollama小试牛刀

序本文主要展示下spring-aiollama的使用示例pom.xml<dependency><groupId>org.springframework.ai<...

SpringCloud系列——10Spring Cloud Gateway网关

学习目标Gateway是什么?它有什么作用?Gateway中的断言使用Gateway中的过滤器使用Gateway中的路由使用第1章网关1.1网关的概念简单来说,网关就是一个网络连接到另外一个网络的...

Spring Boot 自动装配原理剖析

前言在这瞬息万变的技术领域,比了解技术的使用方法更重要的是了解其原理及应用背景。以往我们使用SpringMVC来构建一个项目需要很多基础操作:添加很多jar,配置web.xml,配置Spr...

疯了!Spring 再官宣惊天大漏洞

Spring官宣高危漏洞大家好,我是栈长。前几天爆出来的Spring漏洞,刚修复完又来?今天愚人节来了,这是和大家开玩笑吗?不是的,我也是猝不及防!这个玩笑也开的太大了!!你之前看到的这个漏洞已...

「架构师必备」基于SpringCloud的SaaS型微服务脚手架

简介基于SpringCloud(Hoxton.SR1)+SpringBoot(2.2.4.RELEASE)的SaaS型微服务脚手架,具备用户管理、资源权限管理、网关统一鉴权、Xss防跨站攻击、...

SpringCloud分布式框架&amp;分布式事务&amp;分布式锁

总结本文承接上一篇SpringCloud分布式框架实践之后,进一步实践分布式事务与分布式锁,其中分布式事务主要是基于Seata的AT模式进行强一致性,基于RocketMQ事务消息进行最终一致性,分布式...

SpringBoot全家桶:23篇博客加23个可运行项目让你对它了如指掌

SpringBoot现在已经成为Java开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成。本项目对目前Web开发中常用的各个技术,通过和SpringBoot的集成,并且对各种技术通...

开发好物推荐12之分布式锁redisson-sb

前言springboot开发现在基本都是分布式环境,分布式环境下分布式锁的使用必不可少,主流分布式锁主要包括数据库锁,redis锁,还有zookepper实现的分布式锁,其中最实用的还是Redis分...

拥抱Kubernetes,再见了Spring Cloud

相信很多开发者在熟悉微服务工作后,才发现:以为用SpringCloud已经成功打造了微服务架构帝国,殊不知引入了k8s后,却和CloudNative的生态发展脱轨。从2013年的...

Zabbix/J监控框架和Spring框架的整合方法

Zabbix/J是一个Java版本的系统监控框架,它可以完美地兼容于Zabbix监控系统,使得开发、运维等技术人员能够对整个业务系统的基础设施、应用软件/中间件和业务逻辑进行全方位的分层监控。Spri...

SpringBoot+JWT+Shiro+Mybatis实现Restful快速开发后端脚手架

作者:lywJee来源:cnblogs.com/lywJ/p/11252064.html一、背景前后端分离已经成为互联网项目开发标准,它会为以后的大型分布式架构打下基础。SpringBoot使编码配置...

取消回复欢迎 发表评论: