Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、一個高性能的key-value數據庫。並提供多種語言的API。說到Key-Value數據庫NoSQL數據庫能夠想到MongoDB。java
和Memcached相似,可是它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操做,並且這些操做都是原子性的。在此基礎上,redis支持各類不一樣方式的排序。與memcached同樣,爲了保證效率,數據都是緩存在內存中。區別的是redis會週期性的把更新的數據寫入磁盤或者把修改操做寫入追加的記錄文件,而且在此基礎上實現了master-slave(主從)同步。redis
用redis就要有數據丟失的準備。數據庫
brew install redis
安裝的文件保存在/usr/local/bin下緩存
sudo redis-server
運行後自動在後臺運行,關閉後也會繼續運行。可使用端口檢測命令來查看。網絡
lsof -i tcp:6379
redis-cli
set name pgy
設置key爲name的緩存時間爲10秒tcp
expire name 10
get name
存在報錯返回0,正確返回1分佈式
setnx name peng
quit
(在redis-cli中)memcached
SHUTDOWN
(不在客戶端交互模式下關閉) 工具
redis-cli shutdown
brew uninstall redis
可視化工具下載https://blog.csdn.net/xidiancoder/article/details/71378551性能
subscribe peng
訂閱peng這個頻道
左右2個監聽了peng這個頻道(會卡在這個界面)
發佈消息
publish peng helloworld
事務開始
multi
事務結束
exec
一、快照
所有保存(佔空間,通常不會用磁盤空間浪費)
二、AOF
只改變不同的
always:一有改動保存一次
everysec:每秒保存一次
no:不肯定時間保存一次