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