Redis快速入門
Redis安裝
$ wget http://download.redis.io/releases/redis-3.2.8.tar.gz
$ tar -zxvf redis-3.2.8.tar.gz -C /usr/local/
$ cd /usr/local/redis-3.2.8
$ make && make install
$ cd /usr/local/
$ ln -s redis-3.2.8 redis
Redis可執行文件
redis-server Redis服務器
redis-cli Redis命令行客戶端
redis-benchmark Redis性能測試工具
redis-check-aof AOF文件修復工具
redis-check-dump RDB文件檢測工具
redis-sentinel Sentinel 服務器
運行Redis服務
啓動Redis (默認端品是6379)
$ redis-server –port 6379
修改Redis配置
$ cp /usr/local/redis/utils/redis_init_script /etc/init.d/redis_6379
新建目錄用來存放Redis的配置文件
$ mkdir /etc/redis
新建目錄用來存放Redis的持久化文件
$ mkdir /var/redis/6379
將配置文件模版複製到/etc/redis目錄中
$ cp /usr/local/redis/redis.conf /etc/redis/6379.conf
*由於初使化腳本中是以端口號做爲參數命名配置文件的,所以這裏重命爲7379.conf
修改6379.conf 配置
daemonize yes 使Redis以守護進程模式運行
pidfile /var/run/redis_6379.pid 設置pid文件位置
port 6379 Redis監聽的端口號
dir /var/redis/6379 設置持久化文件存放位置
配置開機啓動服務
修改/etc/init.d/redis_6379
在第一行後插入內容
# chkconfig: 2345 99 10
# description: Start or Stop Redis server
關於chkconfig: 2345 99 10
第一位(X):是指定該腳本在哪個系統啓動級別下運行(,比如你需要在3,4,5上運行,那麼第二位就設置成345,我這裏用的是”-”,代表在2,3,4,5上都運行。
等級0表示:表示關機 \\ 等級1表示:單用戶模式 \\ 等級2表示:無網絡連接的多用戶命令行模式 \\ 等級3表示:有網絡連接的多用戶命令行模式 \\ 等級4表示:不可用 \\ 等級5表示:帶圖形界面的多用戶模式 \\ 等級6表示:重新啓動 \\
第二位(Y):系統啓動時,服務啓動順序。(需要注意的是,有的程序依賴與別的程序的話,啓動順序就要注意了,比如A程序的啓動依賴於B程序的啓動,那麼A程序的這個值一定要比B程序大。)
第三位(Z):系統終止時,服務終止順序。
$ chkconfig redis_6379 on
$ reboot
$ ps -ef | grep redis
ping命令檢查連接是否正常,正常就會收到PONG
$ redis-cli ping
關閉服務
$ redis-cli shutdown
redis-cli向Redis發送命令方式
第一種:將命令作爲redis-cli的參數執行,例:redis-cli shutdown。redis-cli執行時會按默認配置(地址127.0.0.1 端口6379)連接Redis。
也可能通過-h和-p參數自定義
$ redis-cli -h 127.0.0.1 -p 6379
第二種:是不附帶參數運行redis-cli,進入redis命令行模式
$ redis-cli 127.0.0.1:6379> ping PONG 127.0.0.1:6379> echo hi “hi"
啓動服務時指定配置文件,(前面默認配置在/etc/redis/6379.conf)
$ redis-server /path/to/redis.conf
啓動參數會覆蓋配置文件中相應的參數
$ redis-server —log level warning
在Redis運行時通過config set命令動態修改部分配置
redis> config set log level warning
***
*redis是一個字典結構的存儲服務器,一個Redis實例提供了16個用來存儲數據的字典,客戶端可以指定存儲在哪個字典中。與關係型數據庫可以創建多個數據庫相似。
*Redis每個字典對外都是以0開始的遞增數據命名。可以通過修改配置參數databases來修改這一數字。
*Redis 不支持自定義數據庫的名稱,也不能爲每個數據庫獨立設置訪問密碼。
*多個數據庫之間並不是完全隔離的,比如flushall命令可以清空一個Redis實例中所有的數據庫中的數據。
*客戶端與Redis建立連接後會自動選擇0號數據庫,可以能過select命令更換數據庫,如要選擇1號庫 redis> select 1
*不同的應用應使用不同的Redis實例