redis实验命令指南

1.启动并建立交互式
操作 命令
启动redis redis-server
启动时更改端口(默认6379) redis-server - -port 新端口号
配置文件附加启动 redis-server 配置文件路径(.conf)
(1)本机交互 redis-cli -h 127.0.0.1 -p 6379
(2)结束交互 redis-cli (-p 端口号)shutdown

-h 指定了 Redis 服务器的主机地址。在这个例子中,127.0.0.1 是本地回环地址,意味着连接请求将发送到运行该命令的同一机器上。-p 6379 指定了 Redis 服务器监听的端口号。

启动多个redis:修改.conf配置文件(dir数据存放位置,端口号),用表格第三行启动第二个redis实例,记得要结束交互,不然会占用端口。

ps.以上操作需要另开命令窗口

2.redis-kv操作 & API操作
*所有类别 操作 命令
设置键值对 set key value
查看value get key
输出所有key(似栈) keys *
输出key总数 dbsize
检查Key是否存在 exists key
删除key del key1 key2 ...
设置过期时间(过期自动删) expire key seconds
查看还有多久过期 ttl key(-1:未设 -2:不在)
查看value数据类型 type key
重命名键 rename K1 K1_new
同主机 异redis:迁移键 dump K(返回序列化结果v') (在目标实例中执行)restore K' ttl v'
异redis 迁移键 migrate IP port " " timeout K1 K2...
遍历键 scan 0
随机返回一个K randomkey
3.不同数据类型
外部数据类型 内部数据编码 范围
string int <= 8B
embstr <= 39B
raw > 39B
hash ziplist k-v个数<512 && v<=64B
hashtable ------
list ziplist 元素个数<512 && 元素<64B
linkedlist ------
set intset 元素为int 元素个数<512
hashtable ------
数据类型 加入1个 加入n个
字符串 set K v mset K v1 v2 v3 ...
哈希 hset K 'k 'v hmset K 'k1 'v1 'k2 'v2 'k3 'v3 ...
列表 lpush K v lpush K v1 v2 v3 ...
集合 sadd K v sadd K v1 v2 v3 ...
有序集合 zadd K s m zadd K s1 m1 s2 m2 ...
4.字符串
操作 命令
分布式锁下的新添key并设置过期时间 setnx key1 value1 ex time_s
对应的更新key---+设置过期时间(s) setxx key1 value2 ex time_s
基于上述,过期时间设置为ms set key2 value2 px time_ms
获取value get key
批量删除 del k1 k2 k3
批量设置 mset k1 v1 k2 v2 k3 v3
批量获取 mget k1 k2 k3
自增整数 incr key
自增指定整数值 incrby key num
自增指定浮点数 incrbyfloat key num
自减指定数 decr key num
追加字符串至尾部 append key string_add
获取长度 strlen key
获取原值并更新值 getset key value2
更新某个字符(下标从0开始) setrange key array char_new
获取子字符串 getrange key array_start array_end
5.哈希
操作 命令
设置 hset Key1_外部键名 hash_k hash_v
查询 hset K1 k' //查到hash_v1
批量设置 hmset K1 'k1 'v2 'k2 'v2 ...
批量查询v' hmget K1 'k1 'k2 ...
批量查询所有'k hkeys K1
批量查询所有'v hvals K1
批量查询k+v hgetall K1
自增指定整数值 hincrby K1 'k1 num
自增指定浮点数 hincrbyfloat K1 'k1 num
计算v'长度 hstrlen K1 'k1
6.列表
操作 命令
插入元素(右r,左l) rpush K v
批量插入元素(右r,左l) rpush K v1 v2 v3
查看指定下标范围的部分元素 lrange K start_ end_(下标从0开始)
查看列表所有元素 lrange K 0 -1 (end= -1表示全部)
查看某个元素 lindex K index (lrange K index index)
查看长度 llen K
在v0后面(前面)插入v4 linsert K after(before) v0 v4
弹出 rpop(lpop) K
--->>最多删除n个元素v0 lrem K n v0
<<--- 最多删除n个元素v0 lrem K -n v0
删全部的元素v0 lrem K 0 v0
剪枝(保留下标范围) ltrim K start_ end_
修改元素 lset K index new_value
阻塞弹出 blpop(brpop) K timeou
7.集合
操作 命令
插入 sadd K v
删除 srem K v
统计个数 scard K
判断元素是否存在 sismember K v
随机返回x个元素 srandmenber K x
随机返回1个元素 srandmenber K
随机弹出元素 spop K
获取所有元素 smembers K
集合间操作 命令
交集 A∩B sinter A B
并集 A∪B sunion A B
差集 A-B sdiff A B
C = A ∩ B sinterstore C A B
C = A ∪B sunionstore C A B
C = A - B sdiffstore C A B
8.有序集合
操作 命令
添加 zadd K score member
计算成员个数 zcard K
返回成员成绩 zscore K m1
返回某人排名 zrank K m1
删除成员 zrem K m...
给某人增加分数 zincrby K increase_score m
[排名区间]内的mem(升) zrange K start_ end_ [withscores]
[排名区间]内的mem(降) zrevrange K start_ end_ [withscores]
[成绩区间]内的mem(升) zrangebyscore K min max [withscores]
[成绩区间]内的mem(降) zrevrangebyscore K min max [withscores]
统计[成绩区间]人数 zcount K min max
删除[排名区间]内的mem zremrangebyrank K start_ end_
删除[成绩区间]内的mem zremrangebyscore K min max
有序集合间操作 命令
交集 C = A1 ∩ A2 ∩ ... ∩ An[权重xi ] [分值计算方式 ] zinterstore C n A1 A2... An [weights x1 ...x2...xn] [aggregate min/max/sum]
并集 zunionstore ...
9.数据库
操作 命令
切换至redis实例下第n个数据库 select n
清除当前数据库 flushdb
清除redis应用实例下所有数据库 flushall
10.redis-cli选项
选项 解释
--r x 命令 执行x次命令
--i t 每隔t秒执行一次(配合上一个命令)
--x 命令 将输入流的字段作为命令的最后一个参数
--c 启用集群模式
--a 密码 输入密码
-- -- slave 返回redis节点更新的操作
-- --rdb redis生成RDB持久化文件,保存本地
-- --pipe 将命令封装成redis通信协议定义数据类型
-- --bigkeys 找出占用内存最大的Key
-- -- eval 执行指定Lua脚本
-- --latency 检测网络延迟
-- --latency-history 历史记录
-- --latency-dist 统计图表形式
-- --stat 实时展示重要信息
-- --raw 返回格式化结果
-- --no-raw 返回原始格式
相关推荐
gQ85v10Db17 分钟前
Redis分布式锁进阶第十七篇:微服务分布式锁全局治理 + 跨团队统一规范落地 + 全链路稳定性提升方案
redis·分布式·微服务
Javatutouhouduan1 小时前
Java小白如何快速玩转Redis?
java·数据库·redis·分布式锁·java面试·后端开发·java程序员
倒霉蛋小马4 小时前
【Redis】什么是缓存击穿?
数据库·redis·缓存
傻瓜搬砖人7 小时前
SpringBoot整合Junit-Redis-打包
spring boot·redis·junit
014-code7 小时前
布隆过滤器:判断“可能存在“和“一定不存在“
java·redis
gQ85v10Db7 小时前
Redis分布式锁进阶第十八篇:本地缓存+分布式锁双锁架构 + 高并发削峰兜底 + 极致性能无损优化实战
redis·分布式·缓存
gQ85v10Db7 小时前
Redis分布式锁进阶第十四篇:全系列终局架构复盘 + 锁体系统一规范 + 线上全年零事故收官方案
redis·分布式·架构
KmSH8umpK8 小时前
Redis分布式锁进阶第十二篇
数据库·redis·分布式
gQ85v10Db8 小时前
Redis分布式锁进阶第十六篇:番外高阶避坑篇 + 隐性埋点锁故障深挖 + 疑难杂症终极兜底方案
数据库·redis·分布式
KmSH8umpK9 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第九篇
数据库·redis·分布式