启动:
redis-server /usr/local/soft/redis-6.0.9/redis.conf
连接:
redis-cli -h 服务器地址 -p 端口号 -a 密码
连接后输入密码:
auth 密码
查看基本信息:
info
切换数据库:
select 0
清空当前数据库:
flushdb
清空所有数据库:
flushall
查看版本:
info server
存值:
(EX 10-指定10s后过期;PX 10-指定10ms后过期;NX-只在不存在时存值;XX-只在存在时存值 )
set key1 123 [EX 10 | PX 10] [NX | XX]
取值:
get key1
模糊查询key:
keys access_token*
获取当前db的key总数(生产环境数据量大,慎用):
dbsize
查看key是否存在:
exists key1
删除key,支持删除多个:
del key1 key2
重命名key:
rename key1 key2
查看key的值类型:
type key1
Redis一共9种数据类型:String
、List
、Set
、Zset
、Hash
、Bigmap
、Hyperloglog
、Geo
、Stream
。
存储类型: 可以用来存储int
、float
、String
。
获取指定范围的字符:
getrange key1 0 1
获取值长度:
strlen key1
字符串追加内容:
append key1 good
设置多个值(批量操作,原子性):
mset key1 111 key2 222
获取多个值:
mget key1 key2
设置值,如果key存在,则不成功(set not exist):
(基于此可实现分布式锁,用 del key 释放锁)
setnx key1 123
整数值递增(值不存在会得到1):
incr key1
整数值增加100:
incrby key1 100
整数递减(值不存在会得到-1):
decr key1
整数减少100:
decrby key1 100
浮点数增加1.1:
incrbyfloat key1 1.1
浮点数减少1.1:
incrbyfloat key1 -1.1
存储类型: 存储有序的字符串(从左到右),元素可以重复。最大存储数量 2^32-1(40亿左右)。
在左边增加元素a、b:
lpush list1 a b
在右边增加元素a、b:
rpush list1 a b
从左边弹出一个元素:
lpop list1
从右边弹出一个元素:
rpop list1
查询第一个值:
lindex list1 0
查询所有值:
lrange list1 0 -1
存储类型: Set 存储 String 类型的无序集合,最大存储数量 2^32-1(40亿左右)。
添加一个或多个元素:
sadd myset a b c
获取所有元素:
smembers myset
统计元素个数:
scard myset
随机查询一个元素:
srandmember myset
随机弹出一个元素:
spop myset
移除一个或多个元素:
srem myset b c
查看元素是否存在:
sismember myset a
存储类型: Sorted set 存储有序的元素。每个元素有个score,按照 score 从小到大排名。score 相同时,按照 key 的ASCII码排序。
添加元素:
zadd myzset 10 java 20 php 30 python
获取全部元素:
zrange myzset 0 -1 withscores
zrevrange myzset 0 -1 withscores
根据分值区间获取元素:
zrangebyscore myset 20 30
移除元素,也可以根据 score rank 删除:
zrem myzset java php
统计元素个数:
zcard myzset
分值增加5:
zincrby myzset 5 python
根据分值统计个数:
zcount myzset 20 60
获取元素 rank:
zrank myzset python
获取元素 score:
zscore myzset python
存储类型: Hash 用来存储多个无序的键值对。最大存储数量 2^32-1(40亿左右)。
插入一个key:
hset h1 a 1
插入多个key:
hmset h1 b 2 c 3 d 4
获取一个或多个key:
hget h1 a b c
获取所有key名:
hkeys h1
获取所有key值:
hvals h1
获取所有key名和key值:
hgetall h1
删除key:
hdel h1 a
获取对象h1中key的数量:
hlen h1
打印集群的信息:
cluster info
列出集群当前已知的所有结点(node)以及结点的相关信息:
cluster nodes
将 ip 和 port 所指定的结点添加到集群当中,让它成为集群的一份子:
cluster meet
从集群中移除 node_id 指定的结点(保证空槽道):
custer forget
将当前结点设置为 node_id 指定结点的从结点:
cluster replicate
将结点的配置文件保存到硬盘里面:
cluster saveconfig
将一个或多个槽(slot)指派(assign)给当前结点:
cluster addslots
移除一个或多个槽对当前结点的指派:
cluster delslots
移除指派给当前结点的所有槽,让当前结点变成一个没有指派任何槽的结点:
cluster flushslots
将槽 slot 指派给 node_id 指定的结点,如果槽已经指派给另一个结点,那么先让另一个结点删除该槽,然后再进行指派:
cluster setslot
将本结点的槽 slot 迁移到 node_id 指定的结点中:
cluster setslot
从 node_id 指定的结点中导入槽 slot 到本节点:
cluster setslot
取消对槽 slot 的导入(import)或者迁移(migrate):
cluster setslot
计算键 key 应该被放置在哪个槽上:
cluster keyslot
返回槽 slot 目前包含的键值对数量:
cluster countkeysinslot
返回 count 个 slot 槽中的键:
cluster getkeysinslot
其他详细命令,参考:https://blog.csdn.net/qq_33204709/article/details/122320481
整理完毕,完结撒花~