Redis資料庫總結
阿新 • • 發佈:2018-12-13
簡介
與MySQL不同,Redis是一個基於記憶體的資料庫,所以相對於基於硬碟的MySQL,它的儲存空間更小,但執行速度更快。Redis由義大利人Salvatore Sanfilippo開發的一款記憶體快取記憶體資料庫,該軟體由C語言編寫,Redis是一個key-value儲存系統,它支援豐富的資料型別,如string、list、set、zset、hash。不同於MySQL,redis是沒有賬戶和密碼的。
安裝及進入退出
Ubuntu下的安裝:
sudo apt-get update #更新
sudo apt-get install redis-server #安裝redis
進入:
reids-cli
退出:
exit
string型別
string型別包含了整形、浮點型、字串。
- 設定
set key value
- 獲取
get key
- 檢視過期時間:返回-1表示永久、-2表示不存在、其他數字表示具體的有效時間
ttl key
- 設定過期時間
expire key seconds #對已存在的key
set key value ex seconds #設定key的同時設定有效時間
setex key seconds value #設定key的同時設定有效時間
- 追加:返回值的長度
append key value
- 同時設定、獲取多個
mset key value key value... mget key key ...
- 檢視所有key
keys *
- 刪除key
del key
- 檢視key是否存在:存在返回1,不存在返回0
exists key
- 檢視key型別
type key
- 對key的value進行運算,返回值
incr key #加一
decr key #減一
incrby key x #加x
decrby key x #減x
lise型別
list的型別是實現隊和棧的操作,元素不唯一,佇列是先進先出,棧是先進後出。
- 設定:左新增是實現棧的操作,右新增是實現佇列的操作。對已存在的key,則是實現在後面新增,返回的是元素的個數。
lpush key value #棧 rpush keu value #隊
- 檢視
lrange key start stop
- 獲取list的元素個數
llen key
- 檢視指定索引的元素
lindex key index
- 刪除
lpop key #刪除最先出來的元素
rpop key #刪除最後出來的元素
lrem key count value #count是刪除最大數量,value是指定刪除的元素值,count為0,表示刪除所有指定的value,count<0表示從右往左刪除
hash型別
hash型別的基本格式是key:(filed:value),它是一個string型別的field和value的對映表,特別適合用於儲存物件,hash的key必須是唯一的。
- 設定
hset key field value
- 獲取
hget key field
- 刪除
hdel key field
- 設定多個
hmset key field value field value ...
- 獲取多個
hmget key field field...
- 獲取全部field
hkeys key
- 獲取全部的value
hvals key
- 獲取全部的field value
hgetall key
- 獲取field的個數
hlen key
- 獲取field的型別
type key
set型別
set型別即集合的意思,裡面的元素是唯一且無序的,一個鍵可對應多個值。
- 設定
sadd key value [value] [value]...
- 獲取
smembers key
- 刪除:分指定刪除和隨機刪除
srem key value #指定刪除
spop key #隨機刪除
- 移動一個集合的值到另一個集合:移動成功返回1,失敗返回0。
smove key1 key2 value #移動key1的value到key2中
- 判斷集合存在某個值:存在返回1,不存在返回0。
sismember key value
- 取交集及把交集部分合併到新的集合中
sinter key1 key2 #取交集
sinterstore newkey key1 key2 #交集合併到集合
- 取並集及把並集部分合併到新的集合中
sunion key1 key2
sunionstore newkey key1 key2
- 取差集及把差集部分合併到新的集合中
sdiff key1 key2
sdiffstore newkey key1 key2
- 獲取集合個數
scard key
- 隨即返回一個元素
srandmember key
sorted set型別
有序集合的基本格式是key score value [score value]...,裡面的元素是唯一且有序的,其有序的依據就是score,即權重,權重越大,順序就排的越前面。
設定
zadd key score value [score value]...
獲取:分正序獲取和倒序獲取
zrange key start stop #正序
zrevrange key start stop #倒序
刪除
zrem key value
返回索引:分為正序索引和倒序索引
zrank key value #正序
zrevrank key value #倒序
檢視有序集合的元素個數
zcard key
返回給定權重範圍內的元素
zrangebyscore key start stop withscores
返回給定權重範圍內的元素個數
zcount key start stop
檢視元素的權重值
zscore key value
刪除指定索引的元素
zremrangebyrank key start stop
刪除指定權重範圍內的元素
zremrangebyscore key start stop