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 返回原始格式
相关推荐
不良人天码星1 分钟前
redis的事务,以及watch的原理
数据库·redis·缓存
懂得节能嘛.9 分钟前
【动态配置中心】Java+Redis构建动态配置中心
java·开发语言·redis
doris820413 分钟前
使用Yum安装Redis
数据库·redis·缓存
Boilermaker199235 分钟前
【Redis】哨兵与对脑裂的情况分析
数据库·redis·缓存
007php00711 小时前
百度面试题解析:微服务架构、Dubbo、Redis及其一致性问题(一)
redis·百度·docker·微服务·容器·职场和发展·架构
长安城没有风12 小时前
从入门到精通【Redis】Redis 典型应⽤ --- 分布式锁
数据库·redis·分布式
爬山算法15 小时前
Redis(69)Redis分布式锁的优点和缺点是什么?
数据库·redis·分布式
2401_8370885016 小时前
Redis通用命令
数据库·redis·缓存
zl97989917 小时前
Redis-缓存问题(穿透、击穿、雪崩)
redis
摇滚侠1 天前
Spring Boot 3零基础教程,yml文件中配置和类的属性绑定,笔记15
spring boot·redis·笔记