最近在工做中較多用到了 redis 服務器。按照官方的說明, redis 是一個開源的基於內存數據結構的緩存數據庫,還能夠用做消息隊列。它支持的數據結構包括字符串、Hash、Set、List、位圖、地理座標和日誌型數據。支持數據的持久化,而且經過 redis 集羣的自動分區提供 redis 服務的高可用性。linux
目前,在個人實際使用中,主要用 redis 來做爲緩存服務器、分佈式鎖服務、全局的惟一標識生成器。實驗性質的用來作 LBS 服務和消息隊列服務。c++
爲了使用 redis ,咱們首先要安裝一個 redis 服務器。安裝一個單機版的 redis 很是簡單,按照如下幾個步驟操做便可。這裏的安裝環境是 centos6.5 linux。redis
redis 安裝須要使用 c 編譯器,因此以前先經過下面的命令安裝 c 和 c++ 編譯器。shell
sudo yum install -y gcc* g++*
複製代碼
wget http://download.redis.io/releases/rdis-4.0.6.tar.gz
tar -xvf redis-4.0.6.tar.gz
cd redis-4.0.6
make
複製代碼
mkdir bin
cp src/mkreleasehdr.sh bin/
cp src/redis-benchmark bin/
cp src/redis-checbiak-aof bin/
cp src/redis-check-rdb bin/
cp src/redis-cli bin/
cp src/redis-sentinel bin/
cp src/redis-server bin/
cp src/redis-trib.rb bin/
複製代碼
經過文本編輯器編輯配置文件數據庫
vi redis.conf
複製代碼
在配置文件中找到下面的三行centos
#bind 127.0.0.1
port 52981
requirepass hhSbcpotThgWdnxJNhrzwstSP20DvYOldkjf
複製代碼
將第一行註釋掉。這將容許經過網絡遠程鏈接 redis 服務器,不然將只能在本機經過本地地址鏈接。緩存
第二行用來配置 redis 服務器提供網絡服務的端口號,默認是6379,咱們能夠修改成一個不經常使用的,提升服務器的安全性。將第三行的註釋去掉,這將要求鏈接 redis 服務器的時候要提供密碼。由於 redis 可以在很短的時間類嘗試大量的密碼,因此這個密碼必須設置足夠的強度。這裏我採用了 32 位大小寫字母和數字混合的密碼。安全
在舊版的 redis 中,容許不設置密碼的遠程鏈接。這個致使了著名的 redis 攻擊事件。大量暴露在公網上的 redis 服務器沒有設置鏈接密碼,致使這些 redis 服務器中的數據泄露和被篡改。因此新版的 redis 若是不設置密碼,將不容許經過網絡遠程鏈接。bash
爲了可以在任何地方使用 redis 的命令,須要將 redis 安裝目錄下的 bin 目錄設置到 PATH 環境變量中。服務器
vi ~/.bash_profile
複製代碼
在最後增長以下的內容
#/usr/local/redis-4.0.6 is redis install path
REDIS_HOME=/usr/local/redis-4.0.6
export REDIS_HOME
PATH=$REDIS_HOME/bin:$PATH
export PATH
複製代碼
執行下面的命令讓設置當即生效
source ~/.bash_profile
複製代碼
nohup redis-server $REDIS_HOME/redis.conf &
複製代碼
redis-cli -a hhSbcpotThgWdnxJNhrzwstSP20DvYOldkjf -p 52981
複製代碼
其中 -a 參數指定鏈接 redis 服務器的密碼, -p 參數指定鏈接 redis 服務器的端口 redis 服務器操做
下面演示鏈接上 redis 服務器後,在 redis shell 中執行基本的 redis 命令的過程
127.0.0.1:52981> set name ygc
OK
127.0.0.1:52981> get name
"ygc"
127.0.0.1:52981> ttl name
(integer) -1
127.0.0.1:52981> expire name 300
(integer) 1
127.0.0.1:52981> ttl name
(integer) 297
127.0.0.1:52981>
複製代碼
如今,redis 單機服務器就已經搭建好了。咱們就能夠愉快的和 redis 一塊兒玩耍了。若是須要了解redis 支持的所有命令,請移步 redis 官方文檔介紹的 redis command