redis常見資料型別操作命令,Java中使用Jedis操作Redis
redis常見資料型別操作命令
可參考地址:Http://redisdoc.com/
Java中使用Jedis操作Redis:
https://www.cnblogs.com/liuling/p/2014-4-19-04.html
- keys * 檢視當前庫的key的名字
- exists key的名字 :判斷某個key是否存在,返回1表示這個key存在,0表示不存在
- move key的名字 db(指定的庫): ---->>把當前庫中的剪下到其他的庫
例如: move k1 2 - expire key的名字 時間(以秒為單位)
- pexpire key的名字 時間(以毫秒為單位):跟expire的作用一樣
- ttl key的名字:檢視還有多少秒過期,-1表示永不過期,-2表示已經過期
- type key的名字:檢視你的key是什麼型別
-
set key名字 value值:給key賦值
-
get key名字:從key中取值
-
append key value:在原有的value後面追加
append k1 12345 -
strlen key:檢視當前value的長度
strlen k1 -
incr key:遞增 每次+1
-
decr key:遞減 每次-1
-
incrby key 步長:每次遞增步長的長度
-
decrby key 步長:每次遞減步長的長度
注意:關於遞增,遞減的操作只針對整數數字有效。5、6、7、8是一組。 -
getrange key: 開始下標 結束下標:獲取指定區間範圍的值,類似between…and,結束下標為-1表示全部。
getrange k1 0 -1
getrange k1 0 3 -
setrange key: 開始下標 替換的內容:設定指定區間範圍的值
setrange k1 1 xxx:針對k1從第二位開始替換三個xxx -
setnx key value:先判斷當前key是否存在,存在則報錯,不存在才會進行建立。相當於–>exists+set
- lpush 集合的key名 value1 value2 value3… :給一個列表賦值,當取值的時候從後往前取
- rpush 集合的key名 value1 value2 value3… :給一個列表賦值,當取值的時候從前往後取
- lrange 集合的key名 開始下標 結束下標:從一個列表中取值,結束下標為-1表示全部
- lpop 集合的key名: 用於移除並返回列表的第一個元素
- rpop 集合的key名: 用於移除並返回列表的最後一個元素
- lindex key 索引:按照索引下標獲得元素(從上到下)
例如:lindex list1 2 - lrem key 刪除個數 刪除的value:在指定的列表中刪除指定個數的value
lrem list1 2 3:表示我要從list1中刪除2個value是3的物件。 - ltrim key 開始下標 結束下標:擷取指定範圍的值後再賦給當前key
ltrim list1 0 3:從list1中從0開始擷取 ,擷取3位再賦給list1 - lset key 下標 value:給指定的下標賦值
lest list1 1 x:表示在list1中下標為1的位置賦值為x - linsert key before/after 即將在哪新增的value 插入的value2:在指定的位置插入資料
例如:linsert list1 before x java:在list1中x的前面插入java
- sadd key value1 value2…:新增set集合
- smembers key:返回集合中的所有成員
- sismember key value:判斷成員元素是否是集合的成員
- scard key:獲取集合裡面的元素個數
- srem key value:刪除集合中的元素
- srandmember key 某個整數:隨機出幾個數
- spop key:隨機出棧(出一個)
- smove key1 key2 在key1中的某個值:作用是將key1裡的某個值賦給key2
- 數學集合類:
1. sdiff 差集:sdiff key1 key2 :在第一個set裡面而不再後面任何一個set裡面的項
2. sinter 交集:sinter key1 key2 : 兩個set都有的值
3. sunion 並集:sunion key1 key2:兩者合併去重
-
redis雜湊(Hash):key-value的模式不變,但V是一個鍵值對
-
hset:設定hash集合中的資料 :格式:hset user id 11 (只能設定一個屬性)
-
hget:獲取hash集合中的資料 :格式:hget user id
-
hmset:設定hash集合中的多個數據:格式:hmset user id 11 name lisi age 15
-
hmget:獲取多個數據:格式:hmget user id name age
-
hgetall:以key-value的方式獲取hash集合中的資料:格式:hgetall user
-
hdel:刪除hash集合中的一組鍵值對:格式:hdel user name
-
hlen:獲取當前hash集合的長度:格式:hlen user
-
hexists key 屬性名 :在key裡面是否有某個值的key:格式:hexists user id
-
hkeys:獲取hash中的所有key:格式:hkeys user
-
hvals:獲取hash中的所有value:格式:hvals user
-
hincrby:對hash中的某個key的value 進行遞增(注意只能是數字, 增量也可以為負數,相當於對指定欄位進行減法操作。): 格式: hincrby user age 2
-
hincrbyfloat:對hash中的某個key的value 進行遞增(注意只能是浮點型):格式:hincrbyfloat user score 0.5
- redis有序集合Zset(sorted set):在set基礎上,加一個score值,
之前set是 k1 v1 v2 v3,現在是k1 score1 v1 score2 v2 - zadd:新增一個zset集合
格式:zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5 - 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 - zrangbyscore:在zset集合中擷取元素
格式:zrangebyscore key 開始score 結束score ((不包含,limit ? ?返回限制)
zrangebyscore zset01 60 90 limit 2 2
- zrem :刪除元素
格式:zrem zset01 v5 - zcard:統計zset的個數
格式:zcard zset01 - zcount:統計score區間的個數
格式:zcount zset01 60 80 - zrank:獲取下標值
格式:zrank zset01 v4 - zscore:獲取key對應的數值
格式:zscore zset01 v4