redis是一個key-value存儲系統。和Memcached相似,它支持存儲的values類型相對更多,包括字符串、列表、哈希散列表、集合,有序集合。
這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操做,並且這些操做都是原子性的。在此基礎上,redis支持各類不一樣方式的排序。
與memcached同樣,爲了保證效率,數據都是緩存在內存中。區別的是redis會週期性的把更新的數據寫入磁盤或者把修改操做寫入追加的記錄文件,而且在此基礎上實現了master-slave(主從)同步。html
相同點:都是NoSQl數據庫,數據存到內存,讀取速度快 好處以下: 1.減小數據庫壓力,提高訪問速度 2.在數據掛掉的狀況下,仍能保證業務正常運行一段時間,提高安全性 不一樣點: (1)類型 memcached:類型單一,只能存字符串"key爲字符串"="value也爲字符串" redis:支持五大類型:string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)、hash(哈希類型) (2)持久化 memcached:斷電數據丟失 redis:支持持久化,單獨開一個進程完成持久化,要保持性能就須要關閉持久化,不少公司並不使用持久化功能
$ wget http://download.redis.io/releases/redis-5.0.2.tar.gz $ tar xzf redis-5.0.2.tar.gz $ cd redis-5.0.2 $ make # 編譯redis程序
通常啓動reids-server都須要結合配置文件來啓動。這樣在配置文件中的配置就會生效在啓動的redis服務中。redis
$ pwd /Users/hqs/redis-5.0.2 $ src/redis-server redis.conf # 啓動redis服務 # 啓動新終端,使用內置的客戶端與redis進行交互 $ pwd /Users/hqs/redis-5.0.2 $ src/redis-cli 127.0.0.1:6379> set name 'bobo' OK 127.0.0.1:6379> get name "bobo"