# 一、Redis是什么
* 基于鍵值的存儲服務系統
# 二、Redis的特性
* 速度快
* 10W OPS
* 數據存在內存中
* 用C語言編寫(50000 line,3.0提供了集群分布式的功能,實際只有23000行)
* 單線程
* 持久化
* Redis所有數據保存在內存中,對數據的更新將異步地保存到磁盤上。
* RDB 和 AOF 這兩種方式來做數據持久化
* 多種數據結構
* String:字符串
* Hash:哈希
* List:列表
* Set:集合
* zset:有序集合
* BitMaps:位圖
* HyperLogLog : 超小內存唯一值計數
* GEO: 地理信息定位
* 支持多種編程語言
* 功能豐富
* 發布訂閱
* Lua腳本
* 事務
* pipeline
* 簡單
* 不依賴外部庫
* 單線程模型
* 核心代碼只有23000行
* 主從復制
* 高可用、分布式
* Redis-Sentinel v2.8支持高可用
* Redis-Cluster v3.0支持分布式
# 三、Redis典型使用場景
* 緩存系統
* 用戶訪問App Server , 從緩存中獲取數據,如果有就返回,沒有就去數據庫中獲取
* 計數器
* 消息隊列系統:
* 排行榜:zset
* 社交網絡
* 實時系統
# Redis三種啟動方式
* Redis可執行文件說明
* redis-check-aof:AOF文件修復工具
* redis-check-dump:RDB文件檢測工具
* redis-sentinel: Sentinel服務器(2.8以后)
* 最簡單啟動redis
* redis-server
* 動態參數啟動redis
* redis-server --port 6380
* 配置啟動Redis
* redis-server configPath
* 登錄方式
* 本地 `redis-cli`
* 遠程 `redis-cli -h 47.104.28.120 -p 6379 -a '密碼' `
# Redis常用配置
`配置文件路徑:/etc/redis/redis.conf`
`copy配置文件并過濾#和空格
cat redis-conf | grep -v "#" | grep -v "^$" > redis-6380.conf`
| 名稱 | 默認值 | 描述 |
| ------------- | -------- | ------------ |
| daemonize | yes| 是否是守護進程(no \| yes) |
| port | 6379 | Redis對外端口號 |
| logfile | /var/log/redis/redis-server.log | Redis系統日志 |
| dir | /var/lib/redis | Redis工作目錄 |
| bind | 127.0.0.1 | 允許訪問的地址(推薦 0.0.0.0 允許所有) |