mac下redis安裝、設置、啟動停止
- 2019 年 10 月 4 日
- 筆記
常用命令說明
redis服務器:redis-server redis客戶端:redis-cli redis性能測試工具:redis-benchmark AOF文件修復工具:redis-check-aof RDB文件修復工具:redis-check-rd redis設置臨時密碼:config set requirepass 密碼 redis獲取臨時密碼:config get requirepass
啟動和停止
服務端啟動
- 默認啟動 如上,在命令redis-server即啟動redis服務端。且接受客戶端連接
- 根據設置啟動
- 在 /usr/local/redis目錄下建立bin,etc,db三個目錄
- 把/usr/local/redis/src目錄下的mkreleasehdr.sh,redis-benchmark, redis-check-rdb, redis-cli, redis-server拷貝到bin目錄
- 在etc下,新建配置redis.conf,內容如下。
- /usr/local/redis下新建日誌文件log-redis.log,並修改當前用戶使用權限。sudo chown -R shoren /usr/local/redis/
- 啟動服務端:redis-server /usr/local/redis/etc/redis.conf
#修改為守護模式 daemonize yes #設置進程鎖文件 pidfile /usr/local/redis/redis.pid #端口 port 6379 #客戶端超時時間 timeout 300 #日誌級別 loglevel debug #日誌文件位置 logfile /usr/local/redis/log-redis.log #設置數據庫的數量,默認數據庫為16,可以使用SELECT 命令在連接上指定數據庫id databases 16 ##指定在多長時間內,有多少次更新操作,就將數據同步到數據文件,可以多個條件配合 #save #Redis默認配置文件中提供了三個條件: save 900 1 save 300 10 save 60 10000 #指定存儲至本地數據庫時是否壓縮數據,默認為yes,Redis採用LZF壓縮,如果為了節省CPU時間, #可以關閉該#選項,但會導致數據庫文件變的巨大 rdbcompression yes #指定本地數據庫文件名 dbfilename dump.rdb #指定本地數據庫路徑 dir /usr/local/redis/db/ #指定是否在每次更新操作後進行日誌記錄,Redis在默認情況下是異步的把數據寫入磁盤,如果不開啟,可能 #會在斷電時導致一段時間內的數據丟失。因為 redis本身同步數據文件是按上面save條件來同步的,所以有 #的數據會在一段時間內只存在於內存中 appendonly no #指定更新日誌條件,共有3個可選值: #no:表示等操作系統進行數據緩存同步到磁盤(快) #always:表示每次更新操作後手動調用fsync()將數據寫到磁盤(慢,安全) #everysec:表示每秒同步一次(折衷,默認值) appendfsync everysec
接着,可以查看日誌,如下,表示啟動成功:
_._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 3.2.5 (00000000/0) 64 bit .-`` .-```. ```/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 14447 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' 14447:M 24 Apr 17:57:33.215 # Server started, Redis version 3.2.5 14447:M 24 Apr 17:57:33.215 * The server is now ready to accept connections on port 6379 14447:M 24 Apr 17:57:33.215 - 0 clients connected (0 slaves), 956832 bytes in use 14447:M 24 Apr 17:57:38.257 - 0 clients connected (0 slaves), 956832 bytes in use
關閉服務端
- 強行關閉 強行終止redis進程可能會導致數據丟失,因為redis可能正在將內存數據同步到硬盤中。
ps axu|grep redis ## 查找redis-server的PID kill -9 PID
- 命令關閉 向redis發送SHUTDOWN命令,即
redis-cli SHUTDOWN
。Redis收到命令後,服務端會斷開所有客戶端的連接,然後根據配置執行持久化,最後退出。
## 啟動redis-server,後台線程 AT8775:redis shoren$ redis-server /usr/local/redis/etc/redis.conf ## 啟動成功 AT8775:redis shoren$ ps axu|grep redis shoren 14948 0.0 0.0 2434840 760 s000 S+ 10:18上午 0:00.00 grep redis shoren 14946 0.0 0.0 2452968 1492 ?? Ss 10:18上午 0:00.01 redis-server *:6379 ## 關閉服務器 AT8775:redis shoren$ redis-cli shutdown ##關閉成功 AT8775:redis shoren$ ps axu|grep redis shoren 14952 0.0 0.0 2435864 772 s000 S+ 10:19上午 0:00.01 grep redis
啟動客戶端
- 默認啟動 使用命令
redis-cli
啟動客戶端,按照默認配置連接Redis(127.0.0.1:6379)。 - 指定地址和端口號 使用命令
redis-cli -h 127.0.0.1 -p 6379
關閉客戶端
交互模式使用quit
AT8775:redis shoren$ redis-cli -h 127.0.0.1 -p 6379 ## 簡單使用set、get命令 127.0.0.1:6379> set key value12 OK 127.0.0.1:6379> get key "value12" ## 退出 127.0.0.1:6379> quit AT8775:redis shoren$