Redis的基本介紹以及在linux上的安裝

1.什麼是redis?有什麼特性?

        Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型Key-Value數據庫,並提供多種語言的API。

       特性:

       Redis 與其他 key - value 緩存產品(memcached)有以下三個特點:

          ①、Redis支持數據的持久化,可以將內存中的數據保存在磁盤中,重啓的時候可以再次加載進行使用。

          ②、Redis不僅僅支持簡單的key-value類型的數據,同時還提供String(字符串), list(列表),set(集合),zset(sorted set:有序集合),hash(哈希)等數據結構的存儲。

          ③、Redis支持數據的備份,即master-slave模式的數據備份。

     Redis 優勢

        ①、性能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。

        ②、豐富的數據類型 – Redis支持二進制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 數據類型操作。

        ③、原子 – Redis的所有操作都是原子性的,同時Redis還支持對幾個操作合併後的原子性執行。

        ④、豐富的特性 – Redis還支持 publish/subscribe, 通知, key 過期等等特性。

 2. Redis在linux環境安裝配置

        1.Redis安裝
           將redis安裝到此目錄:/usr/local/redis

           安裝包下載到此目錄:/usr/local/src

            具體的命令:

$ mkdir /usr/local/redis  
$ cd /usr/local/src  
$ wget http://download.redis.io/releases/redis-4.0.8.tar.gz  
$ tar xzf redis-4.0.8.tar.gz   
$ ln -s redis-4.0.8 redis #建立一個鏈接  
$ cd redis  
$ make PREFIX=/usr/local/redis install #安裝到指定目錄中

如果上面最後一行make  install 出錯,可能系統中還未安裝gcc,那麼可以通過yum安裝:

$ yum install gcc

執行完後,繼續執行上面的最後一行make命令。

在安裝redis成功後,你將可以在/usr/local/redis看到一個bin的目錄,裏面包括了以下文件:

redis-benchmark  redis-check-aof  redis-check-dump  redis-cli  redis-server

啓動redis:

$ cd /usr/local/redis/bin/
$ #redis-server /usr/local/src/redis-4.0.8/redis.conf
$ ./redis-server

#[root@localhost bin]# redis-server /usr/local/src/redis-4.0.8/redis.conf
[root@localhost bin]# ./redis-server
4705:C 22 Oct 21:53:28.179 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
4705:C 22 Oct 21:53:28.179 # Redis version=4.0.8, bits=64, commit=00000000, modified=0, pid=4705, just started
4705:C 22 Oct 21:53:28.179 # Configuration loaded
4705:M 22 Oct 21:53:28.180 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 4.0.8 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 4705
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

4705:M 22 Oct 21:53:28.181 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
4705:M 22 Oct 21:53:28.181 # Server initialized

好,啓動成功

2.將redis做成一個服務 

      可以在系統啓動的時候自動啓動redis,類似於windows的註冊表,系統啓動自動執行一些腳本

     如果按照上面的redis安裝步驟的話:其redis服務腳本應該在這裏:/usr/local/src/redis/utils/redis_init_script

     這時需要將其複製到/etc/rc.d/init.d的目錄下,將redis_init_script複製到/etc/rc.d/init.d/,同時易名爲redis,看下面的命令:

$ cp /usr/local/src/redis/utils/redis_init_script /etc/rc.d/init.d/redis

  添加註冊服務:

$ chkconfig --add redis

然後就會出現這樣的錯:

$ service redis does not support chkconfig

那是因爲上面複製的redis腳本腳本有問題,需要修改,執行xia'下面命令進入腳本

$ vim /etc/rc.d/init.d/redis

下面是修改後的腳本

#!/bin/sh 
#chkconfig: 2345 80 90 
# Simple Redis init.d script conceived to work on Linux systems 
# as it does use of the /proc filesystem. 
   
REDISPORT=6379 
EXEC=/usr/local/redis/bin/redis-server 
CLIEXEC=/usr/local/redis/bin/redis-cli 
   
PIDFILE=/var/run/redis_${REDISPORT}.pid 
CONF="/etc/redis/${REDISPORT}.conf" 
   
case "$1" in 
    start) 
        if [ -f $PIDFILE ] 
        then 
                echo "$PIDFILE exists, process is already running or crashed" 
        else 
              echo "Starting Redis server..." 
                $EXEC $CONF & 
        fi 
        ;; 
    stop) 
        if [ ! -f $PIDFILE ] 
        then 
                echo "$PIDFILE does not exist, process is not running" 
        else 
                PID=$(cat $PIDFILE) 
                echo "Stopping ..." 
                $CLIEXEC -p $REDISPORT shutdown 
                while [ -x /proc/${PID} ] 
                do 
                    echo "Waiting for Redis to shutdown ..." 
                    sleep 1 
                done 
                echo "Redis stopped" 
        fi 
        ;; 
    *) 
        echo "Please use start or stop as first argument" 
        ;; 
esac 

下圖是與原配置相比,不同的地方

將redis配置文件拷貝到/etc/redis/${REDISPORT}.conf 

$ mkdir /etc/redis    
$ cp /usr/local/src/redis/redis.conf /etc/redis/6379.conf

這樣,redis服務腳本指定的CONF就存在了。默認情況下,Redis未啓用認證,可以通過開啓6379.conf的requirepass 指定一個驗證密碼。(這裏以後再說) 

以上操作完成後,即可註冊yedis服務:

$ chkconfig --add redis

啓動redis服務:

$ service redis start 

將Redis的命令所在目錄添加到系統參數PATH中 

修改profile文件:

vi /etc/profile

在最後行追加: 

export PATH="$PATH:/usr/local/redis/bin"

然後馬上應用這個文件:

. /etc/profile 

這樣就可以直接調用redis-cli的命令了,如下所示: 

$ redis-cli   
redis 127.0.0.1:6379> auth superman   
OK   
redis 127.0.0.1:6379> ping   
PONG   
redis 127.0.0.1:6379>

到這裏,redis 就成功安裝了,快去體驗一把。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章