支援資料的持久化,可以將記憶體中的資料儲存到磁碟中,下次重啟以後再載入回記憶體 ;
支援更多的資料型別,除了kv
以外,還有list set hash zset
等 ;
支援資料的備份,主從模式的資料備份
單執行緒預設是16個資料庫,初始使用第 0 資料庫 ;
資料庫之間的切換:select dbid
;
dbsize 檢視當前資料庫key
的數量 ;
檢視所有key
的內容:keys *
;
也支援模糊查詢的 ;
flushdb 清空當前庫 ;
flushall : 通殺所有庫 ;
統一密碼:所有的資料庫,都是使用同乙個密碼 ;
redis索引,都是從零開始 ;
埠號為6379的故事:手機鍵盤merz
;
string
redis
的string
是二進位制安全的,也就是它可以包含任何東西,比如jpg或者序列化物件 ;
對應的value
,最多可以儲存512
m資料 ;
hash
list ,底層是個鍊錶 ;
setzset
對於其中的key
,每乙個key
就是乙個物件 ;
-- 列出所有的key
key*
-- 判斷某個 key 是否存在
exists
key-- 剪下操作,將當期的 key 移動到指定的資料庫
move key db
-- 為給定的 key 設定過期時間,按照 秒 計算
expire key s
-- 檢視 key 還有多少秒過期,-1 永不過期,-2 已過期
ttl key
-- 檢視 key 是什麼型別
type
key-- 刪除 key
del key
-- 在 key 末尾追加字串
-- 獲取字串的長度,字元數
strlen
-- key 值每次加/減去 1,下面的幾個數值的操作,value 必須是數值
incr/decr key
-- 一次性加/減 num
incrby/decrby key num
-- 獲取指定區間的值,取字串的多少位到多少位 ,角標從 0 開始,-1 表示到最後
getrange key
begin
end-- 從指定位開始,插入 value ,會覆蓋掉後面的資料
setrange key
index
value
-- 設定 key 的快取時間
setex key
time
value
-- 建立 key 的時候,判斷下是否存在,如果存在,則不建立
setnx key
value
-- 一次性對多個值進行操作,但是如有乙個操作失敗,則全部失敗
mset/mget/msetnx
-- 從兩端插入資料
lpush/rpush key
values
-- 遍歷 key 角標從零開始,-1 表示到最後
lrange key
begin
end-- 從兩端取值
lpop/rpop
-- 根據角標獲取對應的值
lindex key
index
-- 獲取 key 長度,也就是 value 的個數
llen key
-- 刪除對應 key 的 n 個 相同的value
lrem key n value
-- 擷取指定範圍的值,然後再次賦值給 key
ltrim key
begin
end-- 把源右邊的拿走,放到目的的左邊
rpoplpush orignallsit newlist
-- 改變具體下標對應的值
lset key
index
value
-- 在 key 的某個位置插入 value
linsert key before/
after origanl new
-- 新增乙個或者對個值,對於重複新增的值,不會爆錯,但是會自動額過濾掉 ;
sadd key
value
[s];
-- 列出 key 的所有 value
smembers key
-- 判斷 value 在不在 key 裡面
sismember key
value
-- 獲取集合中的元素個數
scard key
-- 刪除集合中的元素
srem key
value
-- 在 set 裡面隨機出 num 個整數
srandmember key num
-- 隨機出棧乙個數
spop key
-- 將 key1 裡面的某個 value1 新增到 key2 裡面
smove key1 key2 value1
-- 差集 以第乙個為參照,在第乙個裡面,不在後面任何乙個裡面
sdiff key1 key2 .
..keyn
-- 交集
sinter key1 key2 .
..keyn
-- 並集
sunion key1 key2 .
..keyn
-- 常用的操作
hset hget hmset hmget hgetall hdel
-- hash 的key 對應的 鍵值對 數量
hlen
-- 某個 key 對應的kv裡面,是否存在要找的 k
hexists key k-v-k
-- 獲取 key 對應的鍵值對的所有鍵
hkeys key
-- 獲取 key 對應的鍵值對的所有值
hvals key
-- 對key 的 k-v-v 數值進行增減
hincrby/hincrbyfloat key k-v-k num
-- hsetnx key k-v-v value
-- 新增、建立元素
zadd key score1 value1 score2 value2 .
.. scoren valuen
-- 取值
zrange key
begin
end[withscores]
-- ( 不包含 還可以選擇限制顯示的數量
zrangebyscore key[(
]beginscore [
(]endscore [
limit beginindex num ]
-- 刪除元素
zrem key k-v-v
-- 返回 鍵值對的數量
zcard key
-- 計算在某個區間內的鍵值對的個數
zcount key score1 score2
-- 獲取 k-v-v 的下標值
zrank key k-v-v
-- 獲取對應的 k-v-v 對應的 score
zscore key k-v-v
-- 逆序獲取下標值
zrevrank key k-v-v
-- 逆序輸出
zrevrange key beginindex endindex
-- 從高到低 輸出對應的分數對應的
zrevrangebyscore key highscore lowscore
Redis基本資料型別及命令
redis的資料結構 字串 string 字串列表 list 字串集合 set 有序字串集合 sorted set 雜湊 hash 常用命令 設定值set key value 先獲取再設定 getset key value 獲取值get key 刪除值del key 增減incr key 將制定ke...
Redis基本資料型別及使用場景
這個問題應該算是比較簡單的了,工作一兩年的朋友基本都會遇到過,此文僅做梳理。一 基本資料型別分為5種 string hash list set zset 有序集合 二 使用場景 1 string 命令 set key value 這個沒有什麼好說的,最常規的也就是set get操作,value 可以...
redis基本資料型別
redis支援五種資料型別 string 字串 hash 雜湊 list 列表 set 集合 及zset sorted set 有序集合 string key value型 0.1 6379 set name haha ok127.0 0.1 6379 get name haha hash 是乙個鍵...