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 就成功安装了,快去体验一把。

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