1.通用命令
keys [pattern] (遍歷所有的key,一般不在生產環境中使用 可用scan代替) dbsize (計算key的總數)
exists key (檢查key是否存在 存在返回1 不存在返回0) del key(刪除指定的key key可以設定多個)
expire key seconds (key 在seconds 秒後過期) persist key (去掉key的過期時間)
ttl key(檢視key剩餘的過期時間 返回值-1 代表key存在,且沒有過期時間 -2代表key已經不存在了)
type key(返回key的型別 一般有一下6種 1.string 2.hash 3. list 4.set 5.zset 有序集合 6.none 不存在 )
2.資料結構和內部編碼
字串(string)
使用場景: 快取 計數器 分布式鎖 等等
命令:get set del複雜度
get key: 獲取key對應的value o(1)
set key value : 設定 key-value 不管key是否存在都設定 o(1)
setnx key value: key不存在才設定 o(1)
set key value xx:key 存在才設定(更新)o(1)
del key: 刪除key-value o(1)
整型操作命令:incr decr incrby decrby
incr key:key自增1 如果key不存在,自增後 get(key)=1 o(1)
decr key:key自減1 如果key不存在,自減後 get(key)=-1 o(1)
incrby key k: key自增k 如果key不存在,自增後 get(key)=k o(1)
decrby key k: key自減k 如果key不存在,自減後 get(key)=-k o(1)
批量操作:mget mset
3.單執行緒
redis是單執行緒但為什麼這麼快?
1.純記憶體 (主要原因) 2.非阻塞io 3.避免執行緒切換和競態消耗
單執行緒注意事項: 1.一次只執行一條命令。 2.拒絕長(慢)命令。 例:keys flushall show lua script 等等3.
讀書筆記 《Redis實戰》
常見db對比表,由於未標明各個db的版本,這個 其實並不準確,特別是附加功能欄。名稱型別 資料儲存結構 查詢型別 附加功能 redis 使用記憶體的非關係型資料庫 字串 列表 集合 有序集合 雜湊表 每種資料型別都有專屬指令 批量操作 不完全的事務支援 發布與訂閱 主從複製 持久化 指令碼 memc...
redis 讀書筆記 1
remote dictionary service 套接字socket 對網路中不同主機上的應用程序之間進行雙向通訊的端點的抽象 持久化 1.作用 防止資料丟失 2.機制 rdb儲存 快照 硬碟 全量備份,二進位制序列化形式 fork產生子程序處理快照持久化 共享記憶體中的 段和資料段 子程序不會改...
讀書筆記(二)
使用數學函式的時候,大多數需要包含標頭檔案,但是也有特例,例如處理整型數的函式abs函式被包含在標頭檔案中 三角函式和反三角函式,都以弧度為引數,而不是以角度為引數。更加詳細的數學函式可以參考c mathematical functions。維基百科 strcpy strcat函式會改變傳入的字串的...