1. 程式人生 > >redis常見資料型別操作命令,Java中使用Jedis操作Redis

redis常見資料型別操作命令,Java中使用Jedis操作Redis

redis常見資料型別操作命令

可參考地址:Http://redisdoc.com/

Java中使用Jedis操作Redis

https://www.cnblogs.com/liuling/p/2014-4-19-04.html

  • redis鍵(key)

  1. keys * 檢視當前庫的key的名字
  2. exists key的名字 :判斷某個key是否存在,返回1表示這個key存在,0表示不存在
  3. move key的名字 db(指定的庫): ---->>把當前庫中的剪下到其他的庫
    例如: move k1 2
  4. expire key的名字 時間(以秒為單位)
    : 為給定的key設定過期時間
  5. pexpire key的名字 時間(以毫秒為單位):跟expire的作用一樣
  6. ttl key的名字:檢視還有多少秒過期,-1表示永不過期,-2表示已經過期
  7. type key的名字:檢視你的key是什麼型別

  • redis字串(String)

  1. set key名字 value值:給key賦值

  2. get key名字:從key中取值

  3. append key value:在原有的value後面追加
    append k1 12345

  4. strlen key:檢視當前value的長度
    strlen k1

  5. incr key:遞增 每次+1

  6. decr key:遞減 每次-1

  7. incrby key 步長:每次遞增步長的長度

  8. decrby key 步長:每次遞減步長的長度
    注意:關於遞增,遞減的操作只針對整數數字有效。5、6、7、8是一組。

  9. getrange key: 開始下標 結束下標:獲取指定區間範圍的值,類似between…and,結束下標為-1表示全部。
    getrange k1 0 -1
    getrange k1 0 3

  10. setrange key: 開始下標 替換的內容:設定指定區間範圍的值
    setrange k1 1 xxx:針對k1從第二位開始替換三個xxx

  11. setnx key value:先判斷當前key是否存在,存在則報錯,不存在才會進行建立。相當於–>exists+set


  • redis列表(List)

  1. lpush 集合的key名 value1 value2 value3… :給一個列表賦值,當取值的時候從後往前取
  2. rpush 集合的key名 value1 value2 value3… :給一個列表賦值,當取值的時候從前往後取
  3. lrange 集合的key名 開始下標 結束下標:從一個列表中取值,結束下標為-1表示全部
  4. lpop 集合的key名: 用於移除並返回列表的第一個元素
  5. rpop 集合的key名: 用於移除並返回列表的最後一個元素
  6. lindex key 索引:按照索引下標獲得元素(從上到下)
    例如:lindex list1 2
  7. lrem key 刪除個數 刪除的value:在指定的列表中刪除指定個數的value
    lrem list1 2 3:表示我要從list1中刪除2個value是3的物件。
  8. ltrim key 開始下標 結束下標:擷取指定範圍的值後再賦給當前key
    ltrim list1 0 3:從list1中從0開始擷取 ,擷取3位再賦給list1
  9. lset key 下標 value:給指定的下標賦值
    lest list1 1 x:表示在list1中下標為1的位置賦值為x
  10. linsert key before/after 即將在哪新增的value 插入的value2:在指定的位置插入資料
    例如:linsert list1 before x java:在list1中x的前面插入java

  • redis集合(Set)

  1. sadd key value1 value2…:新增set集合
  2. smembers key:返回集合中的所有成員
  3. sismember key value:判斷成員元素是否是集合的成員
  4. scard key:獲取集合裡面的元素個數
  5. srem key value:刪除集合中的元素
  6. srandmember key 某個整數:隨機出幾個數
  7. spop key:隨機出棧(出一個)
  8. smove key1 key2 在key1中的某個值:作用是將key1裡的某個值賦給key2
  9. 數學集合類:
    1. sdiff 差集:sdiff key1 key2 :在第一個set裡面而不再後面任何一個set裡面的項
    2. sinter 交集:sinter key1 key2 : 兩個set都有的值
    3. sunion 並集:sunion key1 key2:兩者合併去重

  • redis雜湊(Hash)

  1. redis雜湊(Hash):key-value的模式不變,但V是一個鍵值對

  2. hset:設定hash集合中的資料 :格式:hset user id 11 (只能設定一個屬性)

  3. hget:獲取hash集合中的資料 :格式:hget user id

  4. hmset:設定hash集合中的多個數據:格式:hmset user id 11 name lisi age 15

  5. hmget:獲取多個數據:格式:hmget user id name age

  6. hgetall:以key-value的方式獲取hash集合中的資料:格式:hgetall user

  7. hdel:刪除hash集合中的一組鍵值對:格式:hdel user name

  8. hlen:獲取當前hash集合的長度:格式:hlen user

  9. hexists key 屬性名 :在key裡面是否有某個值的key:格式:hexists user id

  10. hkeys:獲取hash中的所有key:格式:hkeys user

  11. hvals:獲取hash中的所有value:格式:hvals user

  12. hincrby:對hash中的某個key的value 進行遞增(注意只能是數字, 增量也可以為負數,相當於對指定欄位進行減法操作。): 格式: hincrby user age 2

  13. hincrbyfloat:對hash中的某個key的value 進行遞增(注意只能是浮點型):格式:hincrbyfloat user score 0.5

  • redis有序集合Zset(sorted set)

  1. redis有序集合Zset(sorted set):在set基礎上,加一個score值,
    之前set是 k1 v1 v2 v3,現在是k1 score1 v1 score2 v2
  2. zadd:新增一個zset集合
    格式:zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5
  3. zrange:獲取一個zset集合的元素
    格式:zrange zset01 0 -1
    輸出結果:v1 v2 v3 v4 v5
    這個時候只顯示了值,沒有顯示分數,如果需要都顯示需要在方法的後面加上 withscores
    格式:zrange zset01 0 -1 withscores
    輸出結果:v1 60 v2 70 v3 80 v4 90 v5 100
  4. zrangbyscore:在zset集合中擷取元素
    格式:zrangebyscore key 開始score 結束score ((不包含,limit ? ?返回限制)
    zrangebyscore zset01 60 90 limit 2 2
    1
  5. zrem :刪除元素
    格式:zrem zset01 v5
  6. zcard:統計zset的個數
    格式:zcard zset01
  7. zcount:統計score區間的個數
    格式:zcount zset01 60 80
  8. zrank:獲取下標值
    格式:zrank zset01 v4
  9. zscore:獲取key對應的數值
    格式:zscore zset01 v4