初識(shí)Redis
Redis是一個(gè)開(kāi)源使用ANSI C語(yǔ)言編寫(xiě)、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、key-value數(shù)據(jù)庫(kù),并提供多種語(yǔ)言的API。從2010年3月15日起,Redis的開(kāi)發(fā)工作由VMware主持。
數(shù)據(jù)類(lèi)型
作為Key-Value型數(shù)據(jù)庫(kù),Redis也提供鍵(key)和鍵值(Value)的映射關(guān)系。但是,除了常規(guī)的數(shù)值或字符串,Redis的鍵值還可以是以下形式之一:
- List (列表)
- Set(集合)
- Sorted sets (有序集合)
- Hashes (哈希表)
鍵值的數(shù)據(jù)類(lèi)型決定了該鍵值支持的操作。Redis支持諸如列表、集合或有序集合的交集、并集、查集等高級(jí)原子操作;同時(shí),如果鍵值的類(lèi)型是普通數(shù)字,Redis則提供自增等原子操作。
持久化
通常,Redis將數(shù)據(jù)存儲(chǔ)在內(nèi)存中,或被配置為使用虛擬內(nèi)存。通過(guò)兩種方式可以實(shí)現(xiàn)數(shù)據(jù)持久化:使用截圖的方式,將內(nèi)存的數(shù)據(jù)不斷寫(xiě)入磁盤(pán);或使用類(lèi)似MySQL的日志方式,記錄每次更新的日志。前者性能較高,但是可能會(huì)引起一定程度的數(shù)據(jù)丟失;后者相反。
操作數(shù)據(jù)庫(kù)
#插入數(shù)據(jù)
> set name wwl
OK
#查詢(xún)數(shù)據(jù)
> get name
"wwl"
#刪除鍵值
> del name
#驗(yàn)證鍵值是否存在
> exists name
(integer)0