Redis是一個開源(BSD許可),內存存儲的數據結構服務器,可用做數據庫,高速緩存和消息隊列代理。它支持字符串、哈希表、列表、集合、有序集合,位圖,hyperloglogs等數據類型。內置複製、Lua腳本、LRU收回、事務以及不一樣級別磁盤持久化功能,同時經過Redis Sentinel提供高可用,經過Redis Cluster提供自動分區。php
通常項目均可以使用它。html
Redis的資料仍是比較多的,首先推薦Redis中文網站的資料,其餘的java
Redis 教程:http://www.runoob.com/redis/redis-tutorial.html,菜鳥教程,內容很詳細,閱讀完後基本就對Redis有個全面的瞭解。其中每部分連接:redis
Redis 教程 Redis 簡介 Redis 安裝 Redis 配置 Redis 數據類型sql
Redis 命令 Redis 鍵(key) Redis 字符串(String) Redis 哈希(Hash) Redis 列表(List) Redis 集合(Set) Redis 有序集合(sorted set) Redis HyperLogLog Redis 發佈訂閱 Redis 事務 Redis 腳本 Redis 鏈接 Redis 服務器數據庫
Redis 數據備份與恢復 Redis 安全 Redis 性能測試 Redis 客戶端鏈接 Redis 管道技術 Redis 分區 Java 使用 Redis PHP 使用 Redis緩存
全部命令解析:http://www.redis.net.cn/order/,遇到不懂的能夠來查詢。安全
根據Redis的簡介,Redis可用做數據庫,高速緩存和消息隊列代理,那麼當你打算使用它們這些功能的時候,能夠考慮一下與其餘產品的對比,選出一個更好用的。服務器
Redis是能夠作爲數據庫來使用的,它能夠看作一個key/value型數據庫,由於Redis會根據配置定時將內存中的數據寫入到硬盤中,這樣即使重啓之後依然能夠恢復,可是有幾個缺點須要考慮一下:數據結構
我以爲Redis的本職工做仍是高速緩存,一樣能夠作爲緩存的有Ehcache、Memcached 。有一篇博客介紹的很詳細:http://blog.csdn.net/jationxiaozi/article/details/8509732。我就簡單總結一下,只說它們最大的特色,讀取速度再也不考慮範圍以內,畢竟能做爲相互比較的緩存工具,速度不會差的太多,只列出較爲突出的優勢和缺點,列出來表示其餘沒有:
Ehcache
Memcached
Redis
根據需求選擇最合適的。
Redis也是能夠作爲消息隊列的,與之相同功能比較優秀的就是Kafka,簡單比較以下:
Redis
Kafka
這麼說,若是能用Kafka就用Kafka,對於數據不敏感的通常場景也是能夠應用Redis的。