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 返回原始格式
相关推荐
June`2 小时前
Redis:高性能内存数据库的六大核心优势
数据库·redis·缓存
一个向上的运维者3 小时前
使用 Kubernetes(k8s) 搭建 Redis 3 主 3 从集群教程
redis·容器·kubernetes
ICollection4 小时前
银河麒麟下Redis的安装和集群配置
redis·集群·银河麒麟·国防版
一條狗5 小时前
学习日报 20250929|缓存击穿及其解决方案
redis·缓存
hong_zc5 小时前
redis事务
redis
麦兜*5 小时前
Redis高可用架构设计:主从复制、哨兵、Cluster集群模式深度对比
java·数据库·spring boot·redis·spring·spring cloud·缓存
王嘉俊9255 小时前
Redis 入门:高效缓存与数据存储的利器
java·数据库·redis·后端·spring·缓存·springboot
June`8 小时前
Redis核心应用:从单机到分布式架构解析
数据库·redis·缓存
会挠头但不秃8 小时前
Redis数据结构和常用命令
数据库·redis·缓存