0
0
Redis命令
2024-07-16
文章摘要
|
常见通用命令
| command | description |
|---|---|
keys <pattern> |
查看符合模板的所有key |
del <key> |
删除指定key |
exists <key> |
判断key是否存在 |
expire <key> |
给一个key设置有效期,到期后自动删除 |
ttl <key> |
查看key的剩余有效时间(time to live) |
String的常见命令
| command | description |
|---|---|
set <key> |
添加或者修改已经存在的一个String类型的键值对 |
get <key> |
根据key获取String类型的value |
mSet <k1> <v1> <k2> <v2>... |
批量添加多个String类型的键值对 |
mGet <k1> <k2>... |
根据多个key获取多个String类型的value |
incr <key> |
让一个整型的key自增1 |
incrBy <key> <step> |
让一个整型的key自增并指定步长,例如:incrBy num 2让num值自增2 |
incrByFloat <key> <step> |
让一个浮点类型的数字自增并指定步长 |
setNX <key> |
添加一个String类型的键值对,前提是这个key不存在(Not Exist),否则不执行 |
setEX <key> |
添加一个String类型的键值对,并且指定有效期 |
key的层级结构
格式:<project>:<module>:<id>
如:
set xnote:user:1 u1set xnote:user:2 u2set xnote:note:1 n1set xnote:note:2 n2
Hash的常见命令
| command | description |
|---|---|
hSet <key> <field> <value> |
添加或者修改hash类型key的field的值 |
hGet <key> <field> |
获取一个hash类型key的field的值 |
hmSet <key> <f1> <v1> <f2> <v2>... |
批量添加多个hash类型key的field的值 |
hmGet <key> <f1> <f2>... |
批量获取多个hash类型key的field的值 |
hGetAll <key> |
获取一个hash类型的key中的所有的field和value |
hKeys <key> |
获取一个hash类型的key中的所有的field |
hVals <key> |
获取一个hash类型的key中的所有的value |
hIncrBy <key> <field> |
让一个hash类型key的字段值自增并指定步长 |
hSetNX <key> <field> |
添加一个hash类型的key的field值,前提是这个field不存在,否则不执行 |
List类型的常见命令
| command | description |
|---|---|
LPush <key> <element1> <element2>... |
向列表左侧插入一个或多个元素 |
RPush <key> <element1> <element2>... |
向列表右侧插入一个或多个元素 |
LPop <key> |
移除并返回列表左侧的第一个元素,没有则返回nil |
RPop <key> |
移除并返回列表右侧的第一个元素,没有则返回nil |
range <key> <satrt> <end> |
返回一段角标范围内的所有元素 |
BLPop和 BRPop |
与LPop和RPop类似,只不过在没有元素时等待指定时间,而不是直接返回nil |
Set类型的常见命令
| command | description |
|---|---|
sAdd <key> <member1> <member2>... |
向set中添加一个或多个元素 |
sRem <key> <member1> <member2>... |
移除set中指定的一个或多个元素 |
scard <key> |
返回set中元素的个数 |
sisMember <key> <member> |
判断一个元素是否存在于set中 |
sMembers <key> |
获取set中的所有元素 |
sInter <key1> <key2> |
求key1与key2的交集 |
sDiff <key1> <key2> |
求key1与key2的差集 |
sUnion <key1> <key2> |
求key1与key2的并集 |
SoetedSet类型的常见命令
| command | description |
|---|---|
zAdd <key> <score1> <member1> <score2> <member2> |
添加一个或多个元素到sorted set,如果已经存在则更新其score值 |
zRem <key> <member> |
删除sorted set中的一个指定元素 |
zScore <key> <member> |
获取sorted set中的指定元素的score值 |
zRank <key> <member> |
获取sorted set中的指定元素的排名 |
zcard <key> |
获取sorted set中的元素个数 |
zCount <key> <minScore> <maxScore> |
统计score值在给定范围内的所有元素的个数 |
zIncrBy <key> <step> <member> |
让sorted set中的指定元素自增,step为增长的步长 |
zRange <key> <minScore> <maxScore> |
按score升序排序后,获取指定排名范围内的元素 |
zRangeByScore <key> <minScore> <maxScore> |
按score升序排序后,获取指定score范围内的元素 |
zDiff、zInter、zUnion |
求差集、交集、并集 |
注意:所有的排名默认都是升序,如果要降序则在命令的Z后面添加 REV 即可。
