Redis常用指令(详细)
# 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常用指令(详细)的更多相关文章
- redis基础:redis下载安装与配置,redis数据类型使用,redis常用指令,jedis使用,RDB和AOF持久化
知识点梳理 课堂讲义 课程计划 1. REDIS 入 门 (了解) (操作) 2. 数据类型 (重点) (操作) (理解) 3. 常用指令 (操作) 4. Jedis (重点) (操作) ...
- redis常用指令总结以及功能介绍
第一部分 redis的常用指令 一.针对key的操作 1.1 del key [key .. ] , 删除指定的一个或者多个key;1.2 dump key ...
- Redis常用指令之string、list、set、zset、hash
Redis之五大类型常用指令 redis的一些小知识 redis服务器端口默认是6379 在编译完成后的bin目录下启动服务端:redis-server 客户端连接操作:redis-cli -h lo ...
- Redis常用指令
1.使用指令存储数据 不同数据类型的使用 1.String > 在以上指令中我们使用set指令向redis存进了一个数据类型为string,名为str1,值为123456.(如果你要问为什么,那 ...
- redis 常用指令
redis指令有些相似,记忆起来不太容易,在此做一下整理 序号 类型 指令 参数 作用 例子 1 string set key value 存储一个 string 类型的值 set a aa 2 st ...
- Redis常用命令详细介绍
一.字符串 字符串键是Redis最基本的键值对类型,将一个单独的键和一个单独的值关联起来.通过字符串键,不仅可以存储和读取字符串,如果输入能被解释为整数和浮点数,还能执行自增或自减操作. 1.SET: ...
- linux常用指令
整理下来的linux常用指令 mount [-t 文件系统] 设备文件名 挂载点挂载命令,一般用于在挂载ISO,或者其他比如U盘等设备时使用,[-t iso9660]为固定格式,可写可不写,非必写项. ...
- 走进AngularJs(二) ng模板中常用指令的使用方式
通过使用模板,我们可以把model和controller中的数据组装起来呈现给浏览器,还可以通过数据绑定,实时更新视图,让我们的页面变成动态的.ng的模板真是让我爱不释手.学习ng道路还很漫长,从模板 ...
- Redis常用命令
Redis常用命令Redis提供了丰富的命令对数据库和各种数据类型进行操作,这些命令可以再Linux终端使用.1.键值相关命令2.服务器相关命令 一.键值相关命令 1.get get 键值 当 key ...
- 第2讲 Redis常用命令与高级应用
目录 一.redis数据类型 5. sorted sets类型和操作 二.Redis常用命令 1.键值相关命令 2.服务器相关命令 三. redis高级应用 1. 给redis服务器设置密码 2.持久 ...
随机推荐
- PCI 设备 RTX 驱动开发方法 -5565反射内存
PCI 设备 RTX 驱动开发方法 RTX 下操作外设时, 需要把设备从 Windows 移动到 RTX 下面,具体移植方法可以参考 RTX Help 文档中间 Converting a Window ...
- JAVA 使用注解lombok@Builder和@Data,primary not found default constructor
由于添加@Builder会将@Data让类缺失无参构造器 应手动在实体中写构造函数并增加: @Tolerate 实体类名(){} 网上很多讲解 这里给一个我觉得讲的比较好的链接 https://www ...
- python中的多继承理解
在python的多继承中,父类的初始化顺序遵循所谓方法解析顺序(Method Resolution Order,MRO)的机制.python使用C3线性化算法来确定多继承类的MRO: 1. 目标:创建 ...
- golang之类型转换cast
Go 语言作为强类型语言,在使用 Golang 开发项目时,经常会遇到类型转换的场景,整型之间可以直接转换,字节切片和字符串之间也可以直接转换. 但是,如果整型和字符串之间做类型转换,则需要使用 st ...
- Linux防火墙工具之firewall
CentOS7 的防火墙配置跟以前版本有很大区别,CentOS7这个版本的防火墙默认使用的是firewall,与之前的版本Centos 6.x使用iptables不一样 一.iptables防火墙1. ...
- nginx配置之Gzip压缩
Nginx开启Gzip压缩功能, 可以使网站的css.js .xml.html 文件在传输时进行压缩,提高访问速度, 进而优化Nginx性能! Web网站上的图片,视频等其它多媒体文件以及大文件,因 ...
- Redis集群之常用操作
Redis Cluster 在5.0之后取消了ruby脚本 redis-trib.rb的支持(手动命令行添加集群的方式不变),集合到redis-cli里,避免了再安装ruby的相关环境.直接使用red ...
- Adobe PS 2024 软件分享 torrent
Adobe-Photoshop-2024-25.5.0.375 下载工具建议使用 qBittorrent-enhance,qBittorrent, Transmission, uTorrent 等. ...
- Astro Zen Blog |一个优雅、极简、强大的博客
介绍 Astro Zen 博客项目 如果你想部署一个自己的静态博客,又不想到处折腾,并且是熟悉的前端技术栈,你可以尝试下:Astro Zen Blog! Astro Zen Blog 是一个使用 As ...
- nvm安装node.js无法使用
前情 最近在使用某此第三方模块需要依赖不同的node版本,于是想通nvm来管理node版本 坑 网上下载nvm-window的安装包,一步步傻瓜式安装下去,发现nrm无法使用,设置环境变量也没有用,再 ...