其他更多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/… |