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