Redis的部署与配置

介绍

Redis是一个开源、支持网络、基于内存、键值对存储数据库,使用ANSI C编写。它具有以下优点:

  • 异常快速:Redis的速度非常快,每秒能执行约11万集合,每秒约81000+条记录。
  • 支持丰富的数据类型:Redis支持最大多数开发人员已经知道像列表,集合,有序集合,散列数据类型。这使得它非常容易解决各种各样的问题,因为我们知道哪些问题是可以处理通过它的数据类型更好。
  • 操作都是原子性:所有Redis操作是原子的,这保证了如果两个客户端同时访问的Redis服务器将获得更新后的值。
  • 多功能实用工具:Redis是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的数据,应用程序,如Web应用程序会话,网页命中计数等。

安装和配置

wget http://download.redis.io/releases/redis-3.0.5.tar.gz
tar -zxvf redis-3.0.5.tar.gz
cd redis-3.0.5
make
make install

将四个可执行文件redis-server、redis-benchmark、redis-cli和redis.conf 分别拷贝到/usr/redis下,和/etc下

mkdir -p /usr/redis/
cd src
cp redis-server  /usr/redis
cp redis-benchmark /usr/redis
cp redis-cli  /usr/redis
cd ..
cp redis.conf  /etc
# 安装php5-redis
apt-get install php5-redis

配置

在/etc/init.d/中创建redis启动脚本

#!/bin/bash
# chkconfig: 2345 10 90
# description: Start and Stop redis

REDISPORT=6379 
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
EXEC=/usr/redis/redis-server 
REDIS_CLI=/usr/redis/redis-cli 

PIDFILE=/var/run/redis.pid
CONF="/etc/redis.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
                if [ "$?"="0" ]
                then
                        echo "Redis is running..."
                fi
                ;;
        stop)
                if [ ! -f $PIDFILE ]
                then
                        echo "$PIDFILE exists, process is not running."
                else
                        PID=$(cat $PIDFILE)
                        echo "Stopping..."
                        $REDIS_CLI -p $REDISPORT SHUTDOWN
                        while [ -x $PIDFILE ]
                        do
                                echo "Waiting for Redis to shutdown..."
                                sleep 1
                        done
                        echo "Redis stopped"
                fi
                ;;
        restart|force-reload)
                ${0} stop
                ${0} start
                ;;
        *)
                echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
                exit 1
esac

设置开机启动和daemon进程

# 开机启动
chmod u+x redis    
sysv-rc-conf redis on
# 将redis设置为daemon方式启动
vi /etc/redis.conf
daemonize yes

启动redis时出现的两个warning信息解决

echo 1 > /proc/sys/vm/overcommit_memory
echo 511 > /proc/sys/net/core/somaxconn

发表评论

电子邮件地址不会被公开。 必填项已用*标注