# Redis 常用指令

## 基础命令
### 启动与连接
```bash
# 启动 Redis 服务
redis-server

# 连接 Redis 客户端
redis-cli
```

### 基本操作
```bash
# 检查 Redis 服务是否运行
ping
# 返回结果: PONG

# 获取 Redis 的版本信息
info

# 查看所有键
keys *

# 删除键
del <key>

# 检查键是否存在
exists <key>
# 返回结果: 1 表示存在, 0 表示不存在

# 设置键的过期时间
expire <key> <seconds>

# 查看键的剩余存活时间
ttl <key>
# -1 表示没有设置过期时间,-2 表示键不存在

# 持久化某个键,移除其过期时间
persist <key>
```

## 字符串 (String)
```bash
# 设置键值
set <key> <value>

# 获取键值
get <key>

# 设置键值并设置过期时间(秒)
setex <key> <seconds> <value>

# 仅当键不存在时设置值
setnx <key> <value>

# 获取子字符串
getrange <key> <start> <end>

# 追加值到已有键
append <key> <value>

# 获取并更新值
getset <key> <value>

# 自增/自减
tincr <key>
decr <key>
incrby <key> <number>
decrby <key> <number>
```

## 哈希 (Hash)
```bash
# 设置哈希字段值
hset <key> <field> <value>

# 获取哈希字段值
hget <key> <field>

# 设置多个字段值
hmset <key> <field1> <value1> <field2> <value2> ...

# 获取多个字段值
hmget <key> <field1> <field2> ...

# 获取所有字段和值
hgetall <key>

# 删除字段
hdel <key> <field>

# 检查字段是否存在
hexists <key> <field>

# 获取字段数量
hlen <key>

# 获取所有字段
hkeys <key>

# 获取所有值
hvals <key>
```

## 列表 (List)
```bash
# 从左侧插入元素
lpush <key> <value1> <value2> ...

# 从右侧插入元素
rpush <key> <value1> <value2> ...

# 从左侧弹出元素
lpop <key>

# 从右侧弹出元素
rpop <key>

# 获取列表长度
llen <key>

# 获取指定范围的元素
lrange <key> <start> <stop>

# 按索引设置值
lset <key> <index> <value>

# 移除指定值
lrem <key> <count> <value>
```

## 集合 (Set)
```bash
# 添加元素
sadd <key> <member1> <member2> ...

# 删除元素
srem <key> <member>

# 检查元素是否存在
sismember <key> <member>

# 获取集合的所有元素
smembers <key>

# 获取集合的大小
scard <key>

# 随机获取一个或多个元素
srandmember <key> [count]
```

## 有序集合 (Sorted Set)
```bash
# 添加元素
zadd <key> <score1> <member1> <score2> <member2> ...

# 获取指定范围的元素(按分数排序)
zrange <key> <start> <stop> [WITHSCORES]

# 获取指定范围的元素(按分数逆序)
zrevrange <key> <start> <stop> [WITHSCORES]

# 删除元素
zrem <key> <member>

# 获取集合的大小
zcard <key>

# 获取成员的分数
zscore <key> <member>

# 获取指定分数范围内的元素
zrangebyscore <key> <min> <max> [WITHSCORES]
```

## 发布与订阅 (Pub/Sub)
```bash
# 订阅频道
subscribe <channel>

# 发布消息
publish <channel> <message>
```

## 事务 (Transaction)
```bash
# 开始事务
multi

# 执行事务
exec

# 放弃事务
discard
```

## 脚本 (Lua)
```bash
# 执行 Lua 脚本
eval <script> <numkeys> <key1> <key2> ... <arg1> <arg2> ...

# 加载脚本到缓存
script load <script>

# 检查脚本是否在缓存中
script exists <sha1>

# 杀死当前运行的脚本
script kill
```

## 其他
```bash
# 清空当前数据库
flushdb

# 清空所有数据库
flushall

# 切换数据库
select <db-index>

# 保存数据到磁盘
save

# 异步保存数据到磁盘
bgsave

# 查看慢查询日志
slowlog get [count]

Redis常用指令(详细)的更多相关文章

  1. redis基础:redis下载安装与配置,redis数据类型使用,redis常用指令,jedis使用,RDB和AOF持久化

    知识点梳理 课堂讲义 课程计划 1. REDIS 入 门 (了解) (操作)   2. 数据类型 (重点) (操作) (理解) 3. 常用指令   (操作)   4. Jedis (重点) (操作) ...

  2. redis常用指令总结以及功能介绍

    第一部分 redis的常用指令 一.针对key的操作 1.1 del key [key .. ]                 , 删除指定的一个或者多个key;1.2 dump key       ...

  3. Redis常用指令之string、list、set、zset、hash

    Redis之五大类型常用指令 redis的一些小知识 redis服务器端口默认是6379 在编译完成后的bin目录下启动服务端:redis-server 客户端连接操作:redis-cli -h lo ...

  4. Redis常用指令

    1.使用指令存储数据 不同数据类型的使用 1.String > 在以上指令中我们使用set指令向redis存进了一个数据类型为string,名为str1,值为123456.(如果你要问为什么,那 ...

  5. redis 常用指令

    redis指令有些相似,记忆起来不太容易,在此做一下整理 序号 类型 指令 参数 作用 例子 1 string set key value 存储一个 string 类型的值 set a aa 2 st ...

  6. Redis常用命令详细介绍

    一.字符串 字符串键是Redis最基本的键值对类型,将一个单独的键和一个单独的值关联起来.通过字符串键,不仅可以存储和读取字符串,如果输入能被解释为整数和浮点数,还能执行自增或自减操作. 1.SET: ...

  7. linux常用指令

    整理下来的linux常用指令 mount [-t 文件系统] 设备文件名 挂载点挂载命令,一般用于在挂载ISO,或者其他比如U盘等设备时使用,[-t iso9660]为固定格式,可写可不写,非必写项. ...

  8. 走进AngularJs(二) ng模板中常用指令的使用方式

    通过使用模板,我们可以把model和controller中的数据组装起来呈现给浏览器,还可以通过数据绑定,实时更新视图,让我们的页面变成动态的.ng的模板真是让我爱不释手.学习ng道路还很漫长,从模板 ...

  9. Redis常用命令

    Redis常用命令Redis提供了丰富的命令对数据库和各种数据类型进行操作,这些命令可以再Linux终端使用.1.键值相关命令2.服务器相关命令 一.键值相关命令 1.get get 键值 当 key ...

  10. 第2讲 Redis常用命令与高级应用

    目录 一.redis数据类型 5. sorted sets类型和操作 二.Redis常用命令 1.键值相关命令 2.服务器相关命令 三. redis高级应用 1. 给redis服务器设置密码 2.持久 ...

随机推荐

  1. PCI 设备 RTX 驱动开发方法 -5565反射内存

    PCI 设备 RTX 驱动开发方法 RTX 下操作外设时, 需要把设备从 Windows 移动到 RTX 下面,具体移植方法可以参考 RTX Help 文档中间 Converting a Window ...

  2. JAVA 使用注解lombok@Builder和@Data,primary not found default constructor

    由于添加@Builder会将@Data让类缺失无参构造器 应手动在实体中写构造函数并增加: @Tolerate 实体类名(){} 网上很多讲解 这里给一个我觉得讲的比较好的链接 https://www ...

  3. python中的多继承理解

    在python的多继承中,父类的初始化顺序遵循所谓方法解析顺序(Method Resolution Order,MRO)的机制.python使用C3线性化算法来确定多继承类的MRO: 1. 目标:创建 ...

  4. golang之类型转换cast

    Go 语言作为强类型语言,在使用 Golang 开发项目时,经常会遇到类型转换的场景,整型之间可以直接转换,字节切片和字符串之间也可以直接转换. 但是,如果整型和字符串之间做类型转换,则需要使用 st ...

  5. Linux防火墙工具之firewall

    CentOS7 的防火墙配置跟以前版本有很大区别,CentOS7这个版本的防火墙默认使用的是firewall,与之前的版本Centos 6.x使用iptables不一样 一.iptables防火墙1. ...

  6. nginx配置之Gzip压缩

    Nginx开启Gzip压缩功能, 可以使网站的css.js .xml.html 文件在传输时进行压缩,提高访问速度, 进而优化Nginx性能!  Web网站上的图片,视频等其它多媒体文件以及大文件,因 ...

  7. Redis集群之常用操作

    Redis Cluster 在5.0之后取消了ruby脚本 redis-trib.rb的支持(手动命令行添加集群的方式不变),集合到redis-cli里,避免了再安装ruby的相关环境.直接使用red ...

  8. Adobe PS 2024 软件分享 torrent

    Adobe-Photoshop-2024-25.5.0.375 下载工具建议使用 qBittorrent-enhance,qBittorrent, Transmission, uTorrent 等. ...

  9. Astro Zen Blog |一个优雅、极简、强大的博客

    介绍 Astro Zen 博客项目 如果你想部署一个自己的静态博客,又不想到处折腾,并且是熟悉的前端技术栈,你可以尝试下:Astro Zen Blog! Astro Zen Blog 是一个使用 As ...

  10. nvm安装node.js无法使用

    前情 最近在使用某此第三方模块需要依赖不同的node版本,于是想通nvm来管理node版本 坑 网上下载nvm-window的安装包,一步步傻瓜式安装下去,发现nrm无法使用,设置环境变量也没有用,再 ...