redis 安裝

前言

最近在工做中較多用到了 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/
複製代碼

配置 redis

經過文本編輯器編輯配置文件數據庫

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
複製代碼

啓動 redis 服務器

nohup redis-server $REDIS_HOME/redis.conf &
複製代碼

命令行鏈接 redis 服務器

redis-cli -a hhSbcpotThgWdnxJNhrzwstSP20DvYOldkjf -p 52981
複製代碼

其中 -a 參數指定鏈接 redis 服務器的密碼, -p 參數指定鏈接 redis 服務器的端口 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>
複製代碼
  • set name ygc 命令在 redis 服務器中存儲一個 key 爲 name 值爲 ygc 的字符串;
  • get name 命令從 redis 服務器中獲取一個 key 爲 name 對象的值,結果是 ygc;
  • ttl name 命令從 redis 服務器中獲取一個 key 爲 name 對象的過時時間,結果是-1,表示永不過時;
  • expire name 300 命令將 redis 服務器中 key 爲 name 對象的過時時間設置爲 300 秒;

如今,redis 單機服務器就已經搭建好了。咱們就能夠愉快的和 redis 一塊兒玩耍了。若是須要了解redis 支持的所有命令,請移步 redis 官方文檔介紹的 redis command

相關文章
相關標籤/搜索