一、字符串
| 命令 |
说明 |
|
set key val [ex seconds | px milliseconds] [nx|xx] |
设置字符串的值 |
|
ex:秒级过期时间 |
|
px:毫秒级过期时间 |
|
nx:键不存在才能设置成功,用于添加 |
|
xx:键存在才能设置成功,用于编辑 |
|
setnx key val |
键不存在才能设置成功,用于添加 |
|
setex key seconds val |
键存在才能设置成功,用于编辑 |
|
mset [key val ...] |
批量设置键值 |
|
get key |
获取值 |
|
mget [key ...] |
批量获取值 |
|
incr key |
自增 |
|
值非整数返回错误 |
|
值是整数返回自增结果 |
|
键不存在按0自增返回1 |
|
decr key |
自减 |
|
值非整数返回错误 |
|
值是整数返回自减结果 |
|
键不存在按0自减返回-1 |
|
incrby key increment |
自增指定增量 |
|
decrby key decrement |
自减指定减量 |
|
incrbyfloat key increment |
自增指定浮点数 |
|
append key val |
给字符串尾部追加字符 |
|
strlen key |
计算字符串长度 |
|
getset key val |
设置新值并返回原值 |
|
setrange key offset val |
设置指定位置的字符 |
|
getrange key start end |
获取指定位置字符串 |
二、哈希
| 命令 |
说明 |
|
hset key field val |
设置字段值 |
|
gset key field |
获取字段值 |
|
hdel key [field ...] |
批量删除字段值 |
|
hlen key |
计算字段个数 |
|
hmset key [field val ...] |
批量设置字段值 |
|
hmget key [field ...] |
批量获取字段值 |
|
hexists key field |
判断字段是否存在 |
|
hkeys key |
获取该键所有字段名称 |
|
hvals key |
获取该键所有值 |
|
hgetall key |
获取该键所有字段与值 |
|
hincrby key field increment |
自增指定增量 |
|
hincrbyfloat key field increment |
自增指定浮点数增量 |
|
hstrlen key field |
计算字符串长度 |
三、列表
| 命令 |
说明 |
|
rpush key [val ...] |
从右边插入元素 |
|
lpush key [val ...] |
从左边插入元素 |
|
linsert key [before | after] pivot val |
向某元素前或后插入元素 |
|
搜索首个pivot元素,搜索不到返回-1 |
|
在pivot元素前或后插入元素 |
|
lrange key start end |
查找指定范围的元素列表,包括start和end下标的元素 |
|
lindex key index |
获取列表指定索引下标的元素 |
|
llen key |
获取列表的元素总数 |
|
lpop key |
从列表左侧弹出元素。例:a b c => b c |
|
rpop key |
从列表右侧弹出元素。例:a b c => a b |
|
lrem key count val |
删除指定元素。搜索等于val的元素删除 |
|
count > 0 从左到右删除至多count个元素 |
|
count < 0 从右到左删除至多count个元素 |
|
count = 0 删除所有元素 |
|
ltrim key start end |
按照索引范围【闭区间】修剪列表,范围外的元素删除 |
|
lset key index val |
修改指定索引下标的元素 |
|
blpop [key ...] timeout |
从左侧阻塞式弹出 |
|
brpop [key ...] timeout |
从右侧阻塞式弹出 |
|
列表为空 timeout > 0 ,timeout秒后弹出空值,期间有元素插入将直接弹出 timeout = 0 ,一直阻塞等待,直至有元素插入,然后弹出 |
|
列表不为空将直接弹出 |
|
多个键时,从左到右遍历,一旦有一个键能弹出元素,立即返回 |
|
多个客户端对同一个键执行brpop时 最先执行的可以获得弹出值;其余的继续阻塞 |
四、集合
| 命令 |
说明 |
|
sadd key [member ...] |
添加成员 |
|
srem key [member ...] |
删除成员 |
|
scard key |
计算成员个数 |
|
sismember key member |
判断成员是否存在于集合中 |
|
srandmember key count |
随机从集合返回指定个数成员 |
|
spop key count |
随机从集合弹出指定个数成员 |
|
smembers key |
获取所有成员 |
|
sinter [key ...] |
交集 |
|
sunion [key ...] |
并集 |
|
sdiff [key ...] |
差集 |
|
sinterstore destination [key ...] |
交集并保存为新集合 destination:新集合名称 |
|
sunionstore destination [key ...] |
并集并保存为新集合 |
|
sdiffstore destination [key ...] |
差集并保存为新集合 |
五、有序集合
| 命令 |
说明 |
|
zadd key [nx|xx] [ch] [incr] [score member ...] |
添加成员 |
|
nx:键不存在才能设置成功,用于添加 |
|
xx:键存在才能设置成功,用于编辑 |
|
ch:返回操作后元素和分数发生变化的个数 |
|
incr:对score做自增,增量为此次命令的score值 |
| zcard |
获取成员个数 |
|
zscore key member |
获取某个成员分数 |
|
zrank key member |
计算成员的score在集合中的排名,从低到高 |
|
zrevrank key member |
计算成员的score在集合中的排名,从高到低 |
|
zrem key [member ...] |
删除成员 |
|
zincrby key increment member |
增加成员分数 |
|
zrange key start end [withscores] |
返回指定排名范围的成员,从低到高 |
|
withscores:同时返回成员分数 |
|
zrevrange key start end [withscores] |
返回指定排名范围的成员,从高到低 |
|
zrangebyscore key min max [withscores] [limit offset count] |
返回指定分数范围的成员。从低到高 |
|
withscores:同时返回成员分数 |
|
limit offset count:限制输出的起始位置和个数 |
|
min和max支持开区间、闭区间、无限小(-inf)、无限大(+inf) |
|
zrevrangebyscore key min max [withscores] [limit offset count] |
返回指定分数范围的成员。从高到低 |
|
zcount key min max |
返回指定分数范围成员个数 |
|
zremrangebyrank key start end |
删除指定排名内的升序元素 |
|
zremrangebyscore key min max |
删除指定分数内的成员 |
|
zinterstore destination numkeys [key ...] [weights weight] [aggregate sum|min|max] |
交集并保存 |
|
destination:新集合名称 |
|
numkeys:需要做交集计算的键的个数 |
|
weights:每个键的权重,交集计算时,每个键的member会将分数乘以权重。权重默认1 |
|
aggregate:计算交集后,分值可按sum、min、max做汇总。默认sum |
|
zunionstore destination numkeys [key ...] [weights weight] [aggregate sum|min|max] |
并集并保存。参数同上 |
参考《Redis开发与运维》
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...