Redis安裝與配置檔案和啟動方式以及基本知識
下載解壓到自己喜歡的目錄後進入到redis資料夾編譯安裝:
安裝後進入到src目錄看到:
redis-server ------------>啟動redis伺服器
redis-cli-------------------->Redis命令客戶端
redis-benchmark-------->Redis測試工具
redis-check-aof----------->AOF檔案修復工具
redis-check-dump-------->RDB檔案檢查工具
redis-sentinel-------------->Sentinel伺服器
三種啟動方法:
最簡啟動:redis-server,按照預設配置啟動
動態引數啟動:redis-server --port 6380(6379是預設埠)
配置檔案啟動:redis-server configPath(配置檔案)
因為redis是單執行緒的,所以可以在一臺機器上佈置多個redis,用埠區分開
啟動常用的配置:
驗證是否啟動的方法有:
ps -ef | grep redis
netstat -antpl | grep redis
Redis客戶端連線:redis-cli -h ip -p port
具體過程:(客戶端和服務端可以在一臺機器上)
通用命令:
[[email protected] ~]$ redis-cli -h node37 -p 6379
node37:6379>
node37:6379>
node37:6379> key *
(error) ERR unknown command 'key'
node37:6379> key*
(error) ERR unknown command 'key*'
node37:6379> set hello world
OK
node37:6379> keys *
1) "hello"
node37:6379> set python good
OK
node37:6379> keys *
1) "hello"
2) "python"
node37:6379> dbsize
(integer) 2
node37:6379> sadd myset as sd b h
(integer) 4
node37:6379> dbsize
(integer) 3
node37:6379> exists hello
(integer) 1
node37:6379> exists hella
(integer) 0
node37:6379> get hello
"world"
node37:6379> del hello
(integer) 1
node37:6379> get hello
(nil)
node37:6379> set a h
OK
node37:6379> expire a 10 ##設定過期時間為10秒
(integer) 1
node37:6379> get a
"h"
node37:6379> get a
"h"
node37:6379> get a
(nil)
node37:6379> persist a
(integer) 0
node37:6379> get a
(nil)
node37:6379> set a h
OK
node37:6379> expire a 100
(integer) 1
node37:6379> ttl a ###檢視過期時間
(integer) 97
node37:6379> persist a ##在過期之前設定取消過期時間
(integer) 1
node37:6379> ttl a
(integer) -1
node37:6379> type a ##key的型別
string
node37:6379> type myset
set
資料結構和內部編碼:空間換時間
單執行緒:所有命令都是要排隊等待執行,一瞬間只會執行一個命令,不會執行兩個命令。
單執行緒為什麼這麼快!!!!
1.純記憶體資料儲存 2.非阻塞IO 3.避免執行緒切換和競態消耗