Redis系列(1)---Redis的介绍和安装

原创 2016年05月31日 18:58:32

Redis介绍

Redis是REmote DIctionary Server(远程字典服务器)的缩写,以字典结构(key-value对)存储数据,并允许其他应用通过TCP协议访问字典中的内容。Redis支持的键值数据类型有:字符串类型(string)、散列类型(hash)、列表类型(list)、集合类型(set)、有序集合类型(sorted set)。

Redis数据库中的所有数据都存储在内存中,但是Redis也提供了数据的持久化存储,即将所有的数据以异步的方式存储在硬盘上,在下次重启服务的时候,可以从硬盘上加载。

Redis安装

注意:如果需要运行make test(检查redis是否正确编译),需要安装tcl,版本最少为8.5以上。make test不是必须的。

安装tcl

[root@vm7 redis-3.2.0]# yum install -y tcl
[root@vm7 ~]# tar -zxvf redis-3.2.0.tar.gz 
[root@vm7 ~]# cd redis-3.2.0
[root@vm7 redis-3.2.0]# make
[root@vm7 redis-3.2.0]# make test
...
 All tests passed without errors!
[root@vm7 redis-3.2.0]#
[root@vm7 redis-3.2.0]# make PREFIX=/usr/local/source/redis install

说明:make PREFIX=/usr/local/source/redis install则是将相关的指令复制到PREFIX指定目录下,如果执行执行make install的话,则默认是将redis指令复制到/usr/local/bin目录。

[root@vm7 redis-3.2.0]# ls -l /usr/local/source/redis/bin/
total 26340
-rwxr-xr-x 1 root root 5585817 May 31 07:36 redis-benchmark
-rwxr-xr-x 1 root root   22177 May 31 07:36 redis-check-aof
-rwxr-xr-x 1 root root 7821380 May 31 07:36 redis-check-rdb
-rwxr-xr-x 1 root root 5712073 May 31 07:36 redis-cli
lrwxrwxrwx 1 root root      12 May 31 07:36 redis-sentinel -> redis-server
-rwxr-xr-x 1 root root 7821380 May 31 07:36 redis-server
[root@vm7 redis-3.2.0]# 

redis-server:Redis服务器,启停服务。
redis-cli:redis客户端工具
redis-benchmark:redis性能测试工具
redis-check-aof:AOF文件修复工具
redis-check-rdb:RDB文件检查工具
redis-sentinel:redis哨兵,实现redis集群的。

Redis启动脚本

复制脚本文件

[root@vm7 redis-3.2.0]# cd utils/
[root@vm7 utils]# cp -a redis_init_script /etc/init.d/redis
[root@vm7 utils]# 

修改脚本

在脚本前面添加chkconfig: 2345 80 20,使其可以被chkconfig管理

#!/bin/sh
#
# chkconfig: 2345 80 20
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

REDISPORT=6379
EXEC=/usr/local/source/redis/bin/redis-server
CLIEXEC=/usr/local/source/redis/bin/redis-cli

PIDFILE=/var/run/redis.pid
CONF="/usr/local/source/redis/etc/${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  
        ;;  
     status)
        if [ -f $PIDFILE ];then
            pid=$(cat $PIDFILE 2> /dev/null)
            if [ -z $pid ];then
                echo "redis is not running..."
            else
                echo "redis ($pid) is running..."
            fi
        else
            echo "redis is not running..."
        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 or status as first argument"
        ;;  
esac

注册服务

[root@vm7 utils]# chkconfig --add redis
[root@vm7 utils]# chkconfig redis on
[root@vm7 utils]# chkconfig --list redis
redis           0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@vm7 utils]# 

将路径添加到PATH变量中

[root@vm7 ~]# cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

REDIS=/usr/local/source/redis/bin
APACHE=/usr/local/source/apache22/bin

PATH=$PATH:$HOME/bin:$APACHE:$REDIS

export PATH
[root@vm7 ~]# 

[root@vm7 ~]# source .bash_profile
[root@vm7 ~]#

Redis配置文件

复制配置文件

[root@vm7 redis-3.2.0]# mkdir /usr/local/source/redis/etc
[root@vm7 redis-3.2.0]# cp redis.conf /usr/local/source/redis/etc/6379.conf
[root@vm7 redis-3.2.0]# 

配置文件简单介绍

配置文件路径:/usr/local/source/redis/etc/6379.conf


bind:指定redis监听的地址。如果没有指定,则监听在所有可用地址。bind后面可用跟上多个地址,如bind 172.17.100.7 172.17.100.100

port:指定redis监听的端口。默认为6379

timeout:客户端空闲多少秒后将会关闭该连接。如果为0,则表示禁用该选项,永不关闭。

daemonize:默认为no,表示redis在前台运行,如果需要以daemon的方式运行(运行在后台),则设置为yes。

pidfile /var/run/redis.pid: 指定redis的pid文件的位置。

loglevel:日志等级。共四个,记录的详细程度从低到高依次是:debug、verbose、notice、warning。

logfile:指定日志文件记录的位置。也可以为空,当前台运行时,日志文件发送到标准输出,如果以后台运行,则日志文件发送到/dev/null。

database 16:设置数据库的个数。默认的数据库是DB 0,可以使用SELECT <dbid>在每一个连接上选择不同的数据库,但是dbid的范围为0到(database-1)


保存数据库到磁盘
save <seconds> <changes>:当DB在指定秒数后至少变化changes次,会将数据库写入到磁盘。如果不想保存到磁盘,可以将所有的save都注释掉即可。
save 900 1:将在900秒以后,至少有一个key发生改变,将保存到磁盘。
save 300 10:在300秒以后,至少有10个key发生改变,将保存到磁盘。
save 60 10000:在60秒以后,至少有10000个key发生改变,将保存到磁盘。

先介绍以上参数,当需要的时候在介绍其他参数。

启动服务并测试

[root@vm7 etc]# /etc/init.d/redis start
Starting Redis server...
[root@vm7 ~]# ps aux | grep redis
root     11293  0.2  0.9 133540  2204 ?        Ssl  13:03   0:00 /usr/local/source/redis/bin/redis-server 127.0.0.1:6379                       
root     11317  0.0  0.3 103252   824 pts/1    S+   13:04   0:00 grep redis
[root@vm7 ~]# netstat -tunlp | grep redis
tcp        0      0 172.17.100.100:6379         0.0.0.0:*                   LISTEN      11293/redis-server  
tcp        0      0 172.17.100.7:6379           0.0.0.0:*                   LISTEN      11293/redis-server  
tcp        0      0 127.0.0.1:6379              0.0.0.0:*                   LISTEN      11293/redis-server  
[root@vm7 ~]# 

测试客户端与服务器的连通性

redis提供了PING命令来测试客户端和服务器端的连通性,如果连接正常,会收到回复PONG

[root@vm7 ~]# redis-cli -h 172.17.100.7 PING
PONG
[root@vm7 ~]# redis-cli PING
PONG
[root@vm7 ~]# 

如果没有指定redis服务器的IP地址,则默认为127.0.0.1

连接Redis服务器

[root@vm7 ~]# redis-cli -h 172.17.100.7 -p 6379
172.17.100.7:6379> PING
PONG
172.17.100.7:6379> set name 'felix'
OK
172.17.100.7:6379> get name
"felix"
172.17.100.7:6379> quit
[root@vm7 ~]# 

停止Redis

  • redis-cli命令停止
[root@vm7 ~]# redis-cli -h 172.17.100.7 -p 6379 SHUTDOWN
[root@vm7 ~]# ps aux | grep redis
root     11403  0.0  0.3 103252   824 pts/2    S+   15:31   0:00 grep redis
[root@vm7 ~]# 
  • 脚本停止
    脚本停止也是调用redis-cli命令停止服务的。
root@vm7 ~]# /etc/init.d/redis start
Starting Redis server...
[root@vm7 ~]# 
[root@vm7 ~]# 
[root@vm7 ~]# ps aux | grep redis
root     11408  0.6  0.9 133540  2140 ?        Ssl  15:32   0:00 /usr/local/source/redis/bin/redis-server 127.0.0.1:6379                       
root     11412  0.0  0.3 103252   820 pts/2    S+   15:32   0:00 grep redis
[root@vm7 ~]# /etc/init.d/redis stop
Stopping ...
Redis stopped
[root@vm7 ~]# ps aux | grep redis
root     11417  0.0  0.3 103252   824 pts/2    S+   15:32   0:00 grep redis
[root@vm7 ~]# 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

1.Redis的介绍与安装部署

一、NoSQL介绍 1、NoSQL(NoSQL =Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。   2、No...

J2EE项目系列(四)--SSM框架构建积分系统和基本商品检索系统(Spring+SpringMVC+MyBatis+Lucene+Redis+MAVEN)(1)框架整合构建

项目整体思路出来,打算糅合自己项目学过的东西,做一个整体的基本demo出来,与这个项目相关的博客会不断写出来给大家的,尽请期待。 文章结构:(1)SSM框架整合以及测试;(2)Redis单机版以及测试...

(Ryan的Redis系列博客)1.开源协议

开源协议
  • lxlhu
  • lxlhu
  • 2017年02月14日 12:51
  • 467

Spring boot系列--redis使用之1

spring boot 中的redis要在spring boot中使用redis,在pom中加入spring-boot-starter-redis依赖。maven会添加spring-data-redi...

redis学习系列--1.redis下载安装配置

1. redis下载(windows_64位,  注意:下载3.2稳定版) 地址: https://github.com/MSOpenTech/redis/tags 解压如图(windows_64...

淘淘商城系列——Redis五种数据类型介绍

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。下面我分别介绍之。String(字符串)字符串是Re...

Redis系列(三)——主从介绍和配置

介绍和工作流程 工作原理:如果设置了一个slave,不管是在第一次链接还是重新链接master的时候,slave会发送一个同步命令 然后master开始后台保存,收集所有对修改数据的命令。当后台保存完...
  • luo4105
  • luo4105
  • 2017年04月26日 19:39
  • 826

redis学习系列之——介绍篇

今天要分享的内容是redis背景介绍Redis 背景介绍 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统...

redis学习系列之——安装篇

今天要分享的内容是redis的使用安装篇这里主要分享,Windows下的安装使用,其他的系统,自己找Window 下安装 下载地址:https://github.com/MSOpenTech/red...

Redis系列(二)Linux下安装Reids

redis安装图解
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Redis系列(1)---Redis的介绍和安装
举报原因:
原因补充:

(最多只允许输入30个字)