其他更多java基础文章:
java基础学习(目录)
学习资料:
redis指令目录
redis学习笔记
通用命令
命令 |
描述 |
备注 |
keys [pattern] |
遍历所有符合的key |
keys命令一般不在生产环境使用 |
dbsize |
计算key的总数 |
|
exists key |
检查key是否存在 |
存在返回1,不存在返回0 |
del key |
删除指定key-value |
|
expire key seconds |
key在seconds秒后过期 |
|
ttl key |
查看key剩余的过期时间 |
-1表示key存在,并且没有过期时间 |
persist key |
去掉key的过期时间 |
|
type key |
返回key的类型 |
string,hash,list,set,zset,none六种 |
字符串
命令 |
描述 |
备注 |
get key |
获取对应的value |
|
set key value |
设置key-value |
不管key是否存在,都设置 |
setnx key value |
设置key-value |
key不存在,才设置 |
set key value xx |
设置key-value |
key存在,才设置 |
del key |
删除key-value |
|
incr |
key自增1,如果key不存在,自增后get(key)=1 |
|
decr key |
key自减1,如果key不存在,自增后get(key)=-1 |
|
incrby key k |
key自增k,如果key不存在,自增后get(key)=k |
|
decrby key k |
key自减k,如果key不存在,自增后get(key)=-k |
|
mget key1 key2 key3... |
批量获取key,原子操作 |
|
mset key1 value1 key2 value2 ... |
批量设置key-value |
|
getset key newvalue |
set key newvalue并返回旧的value |
|
append key value |
将value追加到旧的value后 |
|
strlen key |
返回字符串的长度 |
注意中文 |
incrbyfloat key 3.5 |
增加key对应的值3.5 |
|
getrange key start end |
获取字符串指定下标所有的值 |
|
setrange key index value |
设置指定下标所有对应的值 |
|
Hash
命令 |
描述 |
备注 |
hget key field |
获取hash key对应的field的value |
|
hset key field value |
设置hash key对应的field的value |
|
hdel key field |
删除hash key对应field的value |
|
hexists key field |
判断hash key是否有field |
|
hlen key |
获取hash key field的数量 |
|
hmget key field1 field2... |
批量获取hash key的一批field对应的值 |
|
hmset key field1 value1 field2 value2... |
批量设置hash key的一批field value |
|
hgetall key |
返回hash key对应所有的field和value |
小心使用,field多的时候执行速度会很慢 |
hvals key |
返回hash key对应所有field的value |
|
hkeys key |
返回hash key对应所有的e |
|
hsetnx key field value |
设置hash key对应的field的value |
如果field已经存在,则失败 |
hincrby key field intCounter |
hash key对应的field的value自增intCounter |
|
hincrbyfloat key field float |
浮点数版 |
|
list
命令 |
描述 |
备注 |
rpush key value1 value2... |
从列表右端插入值 |
|
lpush key value1 value2... |
从列表左端插入值 |
|
linsert key before\after value newvalue |
在list指定的value值前\后插入newvalue |
如果多个相同value值,只会在第一个value处插入 |
lpop key |
从列表左侧弹出一个item |
|
rpop key |
从列表右侧弹出一个item |
|
lrem key count value |
根据count值,从列表中删除所有value相等的项 |
1. count>0,从左到右,删除最多count个value相等的项。 2.count<0,从右到左,删除最多count个value相等的项。 3.count=0,删除所有value相等的项。 |
ltrim key start end |
按照索引范围修剪列表 |
|
lrange key start end |
获取列表指定索引范围所有item |
包含end,0\正数从左边数,负数从右边数 |
lindex key index |
获取列表指定索引的item |
|
llen key |
获取列表长度 |
|
lset key index newvalue |
设置列表指定索引值为newvalue |
|
blpop key timeout |
lpop阻塞版本,timeout是阻塞超时时间,timeout=0为永远不阻塞 |
|
brpop |
同上 |
|
tips
- LPUSH + LPOP = Stack(栈)
- LPUSH +RPOP = Queue(队列)
- LPUSH + LTRIM = Capped Collection(固定集合)
- LPUSH +BRPOP = Message Queue(消息队列)
Set
命令 |
描述 |
备注 |
sadd key element |
向集合key添加element |
如果element已经存在,添加失败 |
srem key element |
将集合key中的element移除掉 |
|
scard key |
计算集合大小 |
|
sismember key element |
判断element是否在集合key中 |
|
srandmember key count |
从集合key中随机挑count个元素 |
|
spop key |
从集合key中随机弹出一个元素 |
|
smembers key |
获取集合key中所有元素 |
小心使用 |
sdiff key1 key2 |
差集 |
|
sinter key1 key2 |
交集 |
|
sunion key1 key2 |
并集 |
|
sdiff\sinter\sunion + store destkey |
将差集\交集\并集的结果保存在destkey中 |
|
ZSet(有序集合)
结构
命令
命令 |
描述 |
备注 |
zadd key score element(可以是多对) |
添加score和element |
score可以重复,element不可重复 |
zrem key element |
删除元素 |
|
zscore key element |
返回元素的分数 |
|
zincrby key increScore element |
增加或减少元素的分数 |
|
zcard key |
返回元素的总个数 |
|
zrange key start end [WITHSCORES] |
返回指定索引范围内的升序元素 |
WITHSCORES是否要返回分数 |
zrangebyscore key minScore maxScore [WITHSCORES] |
返回指定分数范围内的升序元素 |
|
zcount key minScore maxScore |
返回有序集合内在指定分数范围内的个数 |
|
zremrangebyrank key start end |
删除指定排名内的升序元素 |
|
zremrangebyscore key minScore maxScore |
删除指定分数内的升序元素 |
|
zrank key element |
获取某个元素在集合key中的排名(从小到大) |
|
zrevrank key element |
获取某个元素在集合key中的排名(从大到小) |
|
ZINTERSTORE destination numkeys [WEIGHTS weight weight...] [AGGREGATE SUM\ MIN\MAX] |
对给定的有序集合执行类似于集合的交集运算 |
www.maiziedu.com/wiki/redis/… |