【第22期】观点:IT 行业加班,到底有没有价值?

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安装部署配置

2. Redis安装与启动 Redis一般安装在linux服务器上。下面分别是在两个主流的linux上安装redis过程。 a) Ubuntu 在终端模式下输入 apt-g...

redis系列1 - 安装及简单使用

工作差不多找完了,马上也要去实习了,就cheng

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

Redis系列(一)——介绍及安装配置

Redis简介 Redis是分布式内存数据存储系统,可以用做数据库、缓存、消息中间件。Redis支持的数据结构有String、List、Set、SortSet、Hash。Redis可以对这些类型执行原...

Redis系列----(一)介绍与安装

Redis redis是开源的内存数据结构存储器,常被用作为内存数据库、高速缓存等。它支持的数据结构包括:String,List,Hashes,Set,SortedSet。它通过提供Redis岗哨和R...

Redis系列学习笔记-1 Redis介绍

Redis简介内存存储,速度极快redis vs memcachedredis和memcached都是键值对数据库,但是和memcached不同的是,redis的值不仅可以是字符串,它还可以是其他五种...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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