Redis:
string
存儲單個數據,一個存儲空間對應一個數據
操作返回結果提示:1成功,0失敗
字符串最大存儲:512M
字符數值計算範圍(Java中的long的最大值):- ~9223372036854775807
key 命名方式建議:
表名:主鍵名:主鍵值:字段名
set key value
說明:
設置一個鍵和值
get key
說明:
獲取指定鍵的值
del key
說明:
刪除指定鍵
mset key1 value1 key2 value2 ...
說明:
設置多個鍵和值
mget key1 key2 ...
說明:
獲取指定多個鍵的值
strlen key
說明:
獲取指定鍵的值的長度
append key value
說明:
往指定的鍵中的值之後追加數據。鍵爲未存在則新建鍵值對,存在則往指定的鍵中追加
返回:追加後的值的長度
incr key
說明:
將指定鍵的值加1
注意:
該值必須爲能轉成數字的字符,例如:1,2,3這種字符。
decr key
說明:
將指定鍵的值減1
注意:
該值必須爲能轉成數字的字符,例如:1,2,3這種字符。
incrby key increment
說明:
將指定鍵的值加上指定的整數increment,increment爲負數時效果爲減
注意:
該值必須爲能轉成整數的字符,例如:-1,2,3這種字符。
decrby key increment
說明:
將指定鍵的值減去指定的整數increment,increment爲負整數時效果爲加
注意:
該值必須爲能轉成整數的字符,例如:1,2,-3這種字符。
incrbyfloat key increment
說明:
將指定鍵的值加上指定的浮點數increment,increment爲負數時效果爲加
注意:
該值必須爲能轉成數字的字符,例如:1.2,2.0,-0.3這種字符。
setex key sceonds value
說明:
將指定鍵值設置過期時間(單位:秒),時間到後值被清空,鍵仍然存在。
注意:在未過期時重新設置該鍵的值,則該值不存在過期時間。
setex key millisceonds value
說明:
將指定鍵值設置過期時間(單位:毫秒),時間到後值被清空,鍵仍然存在。
注意:在未過期時重新設置該鍵的值,則該值不存在過期時間。
set和mset對比:
指令執行過程:
1.服務器發送指令到redis需要的時間爲T1
2.redis處理指令時間爲 T2
3.redis處理完畢返回服務器的時間爲T3
例如:
同時執行三條指令(數據量越多越明顯):
set時間:(T1+T2+T3)*3
mset時間:T1+T2+T3
hash P14
一個存儲空間保存多個鍵值對數據,底層使用hash存儲結構
hash類型value中只能存字符串
每個hash能存2的32次方-1個鍵值對
hset key field value
說明:
1.將指定的鍵中添加字段和字段對應的值
2.將指定的鍵中修改字段和字段對應的值
hget key field
說明:
獲取指定的鍵中字段對應的值
hgetall key
說明:
獲取指定的鍵中所有的字段和字段值
注意:鍵中的字段多時,會影響效率。
hdel key field1 [field2 field3]
說明:
刪除指定的一個或多個鍵中的字段和字段值
hmset key field1 value1 field2 value2 ...
說明:
設置或修改指定鍵的一個或多個字段和字段值
hmget key field1 field2...
說明:
獲取指定鍵的一個或多個字段對應的值
hlen key
說明:
獲取指定鍵中的字段數量
hexists key field
說明:
判斷指定的鍵中是否存在指定的字段
hkeys key
說明:
獲取指定的鍵中的所有字段名
hvals key
說明:
獲取指定的鍵中的所有字段對應的值
hincrby key field increment
說明:
將指定鍵中的字段對應的字段值加上指定的整數increment,increment爲負數時效果爲加
注意:
該值必須爲能轉成數字的字符,例如:1,2,-3這種字符。
hincrbyfloat key field increment
說明:
將指定鍵中的字段對應的字段值加上指定的浮點數increment,increment爲負數時效果爲加
注意:
該值必須爲能轉成數字的字符,例如:1.2,2.0,-0.3這種字符。
hsetnx key field value
說明:
在指定鍵中設置指定字段和字段值
注意:
若操作的字段已經存在於此鍵中,則操作失敗,否則成功
list
存儲多個數據,存儲空間順序進行區分,一個存儲空間存多個數據,底層採用雙線鏈表存儲結構實現。
list保存的數據都是字符串,容量爲2的32次方-1。
具有索引概念,通常以隊列或棧的方式操作。
lpush key value1 [value2,value3,..]
說明:
向指定的鍵中添加數據
注意:
此方式定義的數據從左邊進入
rpush key value1 [value2,value3,..]
說明:
向指定的鍵中添加數據
注意:
此方式定義的數據從右邊進入
lrange key start stop
說明:
在指定鍵中查找值
注意:
start爲開始下標(0開始);stop結束下標,負數爲倒數第幾個
lindex key index
說明:
獲取指定鍵中的下標值
注意:
index爲負數時表示倒數
llen key
說明:
在指定鍵中的值長度
lpop key
說明:
在指定鍵中取出值
注意:
左邊出
rpop key
說明:
在指定鍵中取出值
注意:
右邊出
blpop key [key2 ...] timeout
說明:
在指定時間內取出鍵中的值
注意:
左邊出,此方式具有阻塞效果,可從多個列表中取值
brpop key [key2 ...] timeout
說明:
在指定時間內取出鍵中的值
注意:
右邊出,此方式具有阻塞效果,可從多個列表中取值
lrem key count value
說明:
移除指定數據,可從中間移除 count:爲移除個數 value移除的值
set
存儲大象數據,提高查詢速度。
存儲結構與hash相同,僅存鍵,不存值,因此,存的數據不能重複,重複則覆蓋。
不允許重複元素
sadd key member [member2,member3...]
說明:
添加指定的鍵值
smembers key
說明:
取出鍵中的值
srem key member [member2,member3...]
說明:
移除鍵中的值
scard key
說明:
獲取鍵中的值的總數
sismember key member
說明:
判斷指定的鍵中是否存在指定值
srandmember key [count]
說明:
隨機取出集合中指定數量的數據,元數據不變
spop key
說明:
隨機取出集合中指定數量的數據,並將取出的數據移出集合
sinter key1 [key2...]
說明:
獲取指定鍵中的交集
sunion key1 [key2...]
說明:
獲取指定鍵中的並集,去除重複
sdiff key1 [key2...]
說明:
獲取指定鍵中的差集
sinterstore destination key1 [key2 ... ]
說明:
獲取指定鍵中的交集存儲到指定的集合中,destination爲新集合名稱
sunionstore destination key1 [key2 ... ]
說明:
獲取指定鍵中的並集存儲到指定的集合中,destination爲新集合名稱
sdiffstore destination key1 [key2 ... ]
說明:
獲取指定鍵中的差集存儲到指定的集合中,destination爲新集合名稱
smove source destination member
說明:
移動指定集合中的元素到指定目標集合中,source爲原目標集合,destination移動到的目標集合,member移動的元素
sorted_set
在Set的存儲結構上添加可排序的字段
score對正數的範圍是:-900719925474099~900719925474099
score保存的數據也可以是double值,但有可能出現精度丟失
底層基於set結構,數據不能重複,重複則覆蓋,保留最後一次修改的數據
zadd key score1 member1 [score2 member2 ...]
說明:
向指定的鍵中添加數據。 score1排序的字段 member1值
zrange key start stop [withscores]
說明:
正向獲取指定的鍵中數據.
zrevrange key start stop [withscores]
說明:
反向獲取指定的鍵中數據.
zrem key member [member ...]
說明:
刪除數據
zrangebyscore key min max [withscores] [limit]
說明:
按條件順序獲取數據,limit與mysql的用法一致
zrevrangebyscore key min max [withscores]
說明:
按條件倒序獲取數據
zremrangebyrank key start stop
說明:
按索引刪除數據
zremrangebyscore key min max
說明:
按條件刪除數據
zrank key member
說明:
獲取數據順序對應的索引(排名),從小到大
zrevrank key member
說明:
獲取數據倒序對應的索引(排名),從大到小
zscore key member
說明:
對score排序值的獲取
zincrby key increment member
說明:
對score排序值的修改 increment正數爲添加,負數爲減少 member爲字段
通用命令:
time
說明:
redis提供的時間命令
del key
說明:
刪除指定的key
exists key
說明:
判斷key是否存在
type key
說明:
獲取key的類型
expire key seconds
說明:
設置key的過期時間,單位秒
pexoire key milliseconds
說明:
設置key的過期時間,單位毫秒
expireat key timestamp
說明:
設置key的過期時間,時間戳
pexpireat key milliseconds-timestamp
說明:
設置key的過期時間,毫秒時間戳
ttl key
說明:
獲取key的有效期
pttl key
說明:
獲取key的有效期
persist key
說明:
將key設置成永久性
keys parttern
說明:
查詢key
parttern 查詢的規則
* 任意數量任意符號
?匹配一個任意符號
[] 匹配一個指定的符號
rename key newkey
說明:
更改key名稱,重名則覆蓋原key
renamenx key newkey
說明:
更改key名稱,重名則失敗
sort
說明:
對所有key進行排序
help @generic
說明:
查看其他通用操作
redis數據庫
redis提供16個數據庫 編號0-15
select index
說明:
切換數據庫, index編號0-15
quit
說明:
退出
ping
說明:
測試redis-server服務器是否連通
echo message
說明:
打印信息
move key db
說明:
將鍵移動到其他數據庫,移動對象必須存在
dbsize
說明:
查看當前操作數據庫中的鍵的數量
flushdb
說明:
清除當前操作數據庫的所有數據
flushall
說明:
清除所有數據庫的所有數據