- REmote DIctionary Server:數據結構服務器,k/v,數據結構;
- Redis 是一個開源(BSD許可)的,內存存儲、數據結構存儲系統,它能夠用做數據庫、緩存和消息中間件(消息隊列)。
- 它支持的數據結構:字符串、列表(數組)、hashes(關聯數組)、集合、有序集合、bitmaps、hyperloglogs、空間索引;
- 內建的複製功能、Lua scripting(著名的腳本編程語言,容易內嵌入其餘語言)、LRU、事務、持久存儲、高可用(Sentinel,Redis Cluster)
- 最新版程序,能夠選擇官網下載,編譯安裝。
- 也能夠使用yum epel倉庫,
yum install redis
- 配置文件:/etc/redis.conf
- 服務端-主程序:/usr/bin/redis-server 默認端口 TCP:6379
- 客戶端:/usr/bin/redis-cli
- Unit File:/usr/lib/systemd/system/redis.service
- 數據目錄:/var/lib/redis
- Redis性能測試工具:redis-benchmark
- AOF文件修復工具:redis-check-aof
- RDB文件檢查工具:redis-check-rdb
- Sentinel服務器:redis-sentinel
- Redis.conf 配置文件分爲:通用基本配置項、網絡配置項、持久化相關配置、複製相關的配置、安全相關配置、Limit相關的配置、SlowLog相關的配置、INCLUDES、Advanced配置
通用配置html
網絡配置redis
安全配置算法
Limits數據庫
volatile-lru # 對設置了過時時間的keys,使用 LRU最近最少使用算法去淘汰。 allkeys-lru # 全部keys,使用LRU最近最少使用算法去淘汰。 volatile-random # 對設置了過時時間的keys,隨機淘汰。 allkeys-random # 全部keys中,退機淘汰 volatile-ttl # 對過時時間中剩餘時間多少,淘汰快到期的。 noeviction # 默認策略,不淘汰,若是內存已滿,添加數據是報錯。
SlowLog相關配置編程
ADVANCED配置數組
hash-max-ziplist-value 64 這些鍵值對裏的值,最大長度64字節。緩存
client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60
@strings 只處理值爲字符串的命令組安全
@lists 處理列表的命令組服務器
Server相關命令網絡
Usage: redis-cli [OPTIONS] [cmd [arg [arg ...]]]
-h HOST, 127.0.0.1 -p PORT, 6379/tcp -a PASSWORD -n DBID 0-15
與Connection相關命令:
help @connection AUTH <password> ECHO <message> PING QUIT SELECT dbid
清空數據庫:
FLUSHDB:Remove all keys from the current database 清空當前數據庫; FLUSHALL:Remove all keys from all databases 清空全部數據庫;
RDB
AOF:Append Only File, fsync
AOF相關的配置
(1) BGSAVE和BGREWRITEAOF不會同時進行;(2) Redis服務器啓動時用持久化的數據文件恢復數據,會優先使用AOF;