Redis命令

Redis命令

通用命令

  • keys [pattern] :遍歷所有key(生產環境禁用)
  • dbsize :計算key的總數
  • exists key :檢查key是否存在
  • del key [key...] :刪除指定key-value
  • expire key seconds :設置key的過期時間
  • ttl key :查看key剩餘的過期時間
  • persist key :去除key的過期時間
  • type key :返回key的類型

string - 字符串

基本操作

  • get key :獲取key對應value
  • set key value :不管key是否存在,都設置key-value
  • setnx key value :key不存在時,才設置key-value
  • set key value xx :key存在時,才設置key-value
  • del key :刪除key-value

批量操作

  • mset key1 value1 key2 value2 ... :批量設置key-value
  • mget key1 key2 ... :批量獲取key,原子操作

計數操作

  • incr key :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

其他操作

  • getset key newvalue :設置key新值並返回舊值
  • append key value :追加value
  • strlen key :返回字符串的長度
  • getrange key start end :獲取字符串指定下標所有的值
  • setrange key index value :設置字符串指定下標所有對應的值
  • incrbyfloat key 3.5 :key自增對應的值3.5

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
  • hvals key :返回hash key對應所有的field的value
  • hkeys key :返回hash key對應所有的field

list - 列表(有序、可重複)

基本操作

  • rpush list value1 value2 ... :從列表右端插入值
  • lpush list value1 value2 ... :從列表左端插入值
  • linsert list before|after value newValue :在列表指定位置的前|後插入newValue
  • lpop list :從列表左側彈出一個item
  • rpop list :從列表右側彈出一個item
  • lrem list count value :根據count值,從列表中刪除所有與value像=相等的項
    (1)count>0,從左到右,刪除最多count個與value相等的項;
    (2)count<0,從右到左,刪除最多Math.abs(count)個與value相等的項;
    (3)count=0,刪除所有與value相等的項
  • ltrim list start end :按照索引範圍裁剪列表
  • lrange list start end :獲取列表指定索引範圍所有item(包含end)
  • lindex list index :獲取列表指定索引的item
  • llen list :獲取列表長度
  • lset list index newValue :設置列表指定索引的值爲newValue

阻塞操作

  • blpop list timeout :lpop阻塞版本,timeout是阻塞超時時間,timeout=0爲永不阻塞
  • brpop list timeout :rpop阻塞版本,timeout是阻塞超時時間,timeout=0爲永不阻塞

set - 集合(無序、無重複)

基本操作

  • sadd set element :向集合添加element(如果element已存在,則添加失敗)
  • srem set element :將集合中的element移除
  • scard set :計算集合大小
  • sismember set element :判斷element是否在集合中
  • srandmember set count :從集合中隨機挑count個元素
  • spop set :從集合中隨機彈出一個元素
  • smembers set :獲取集合所有元素

集合操作

  • sdiff set1 set2 :差集
  • sinter set1 set2 :交集
  • sunion set1 set2 :並集
  • sdiffstore destkey set1 set2 :將set1和set2的差集結果保存在destkey中
  • sinter destkey set1 set2 :將set1和set2的交集結果保存在destkey中
  • sunion destkey set1 set2 :將set1和set2的並集結果保存在destkey中

zset - 有序集合

基本操作

  • zadd zset score element :向集合添加score和element
  • zrem zset element :將集合中的element移除
  • zscore zset element :返回element的分數
  • zincrby zset increScore element :增加或減少element的分數
  • zcard zset :計算集合大小
  • zrank zset element :返回element在集合中的排名

範圍操作

  • zrange zset start end [WITHSCORES] :返回指定索引範圍內的升序元素[分值]
  • zrangebyscore zset minScore maxScore [WITHSCORES] :返回指定分數範圍內的升序元素[分值]
  • zcount zset minScore maxScore :返回有序集合內在指定分數範圍內的個數
  • zremrangebyrank zset start end :刪除指定排名內的升序元素
  • zremrangebyscore zset minScore maxScore :刪除指定分數內的升序元素

集合操作

  • zinter destkey zset1 zset2 :將zset1和zset2的交集結果保存在destkey中
  • zunion destkey zset1 zset2 :將zset1和zset2的並集結果保存在destkey中
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章