Redis install and config

本文参照官方文档。最初安装redis时,编译后只能在当前目录使用,并且 init 脚本也是参照网络而写。最近在官方看了部分文档,对其编译与使用过程有了进一步了解,遂整理此文,以备查阅。


准备和说明:

系统:centos6.5

软件源码目录:/usr/local/src

软件安装目录:/usr/local/bin

软件官网:redis.io

软件下载地址及版本(截至本文发布最新稳定版):http://download.redis.io/releases/redis-3.0.6.tar.gz

软件安装:

$wget -c  -P /usr/local/src
$cd /usr/local/src
$tar zxvf redis-3.0.6.tar.gz
$cd /usr/local/src/redis-3.0.6
#查看REDME得知
#编译安装到当前路径src目录
$sudo make                            
或
#编译redis并安装到目录/usr/local/bin
#此文采用此种方式
$sudo make install                    
或
#编译redis并安装到自定义目录/usr/local/redis
$sudo make prefix=/usr/local/redis

经过上面的编译,生成以下二进制文件

  • redis-server is the Redis Server itself.
  • redis-sentinel is the Redis Sentinel executable (monitoring and failover).
  • redis-cli is the command line interface utility to talk with Redis.
  • redis-benchmark is used to check Redis performances.
  • redis-check-aof and redis-check-dump are useful in the rare event of corrupted data files.

完善安装:

在完成以上编译,就已完成redis软件安装,可使用 ./redis-server 运行 redis 服务。但在生产环境这并不可取,所以需要后续工作进行完善。

如只使用 make 编译,请将 server 和 cli 拷贝到 /usr/local/bin 下:

$sudo cp src/redis-server /usr/local/bin
$sudo cp src/redis-cli /usr/local/bin

创建配置文件和数据存储目录:

$sudo mkdir /etc/redis
$sudo mkdir /var/redis

复制 init 脚本到 /etc/init.d 并使用 redis 加实例端口命名

$sudo utils/redis_init_script /etc/init.d/redis_6379

编辑 init 脚本,修改确认 REDISPORT 端口和 PIDFILE 、CONF 文件路径及名称,增加 chkconfig 级别

$sudo vim /etc/init.d/redis_6379

/etc/init.d/redis_6379

#!/bin/sh
#
# redis        init file for starting up the redis daemon
#
# chkconfig:   - 20 80
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
# Source function library.
. /etc/rc.d/init.d/functions

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/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

复制配置模板到 /etc/redis 目录,并以运行实例端口命名

$sudo cp redis.conf /etc/redis/6379.conf

创建运行实例工作目录

$sudo mkdir /var/redis/6379

编辑配置文件,确保以下更改

  • Set daemonize to yes (by default it is set to no).
  • Set the pidfile to /var/run/redis_6379.pid (modify the port if needed).
  • Change the port accordingly. In our example it is not needed as the default port is already 6379.
  • Set your preferred loglevel.
  • Set the logfile to /var/log/redis_6379.log
  • Set the dir to /var/redis/6379 (very important step!)

redis.conf

daemonize yes
pidfile /var/run/redis_6379.pid
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 0
loglevel notice
logfile "/var/log/redis_6379.log"
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /var/redis/6379
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes

将 redis 加入系统服务,并设置默认运行级别

chkconfig --add redis_6379
chkconfig --level 2345 redis_6379 on

启动 redis 服务

$sudo service redis_6379 start

至此完成安装及配置,可使用 redis-cli 链接 redis 服务测试

时间: 2024-10-10 23:13:19

Redis install and config的相关文章

install and config bind9(named) on linux server

This article shows my process of installing and configuring bind9 DNS server on a linux server. I didn't touch every aspects of bind9, but following the process, a DNS server is configured with A/AAAA, NAPTR and SRV resource record types. The DNS ser

php5.3 php5.4 install and config on windows VC6 and VC9

Senario Yii2 框架开始要求 PHP 版本在 PHP 5.4.0 之上 eg. yii2 中用到这样的代码 php 5.3.5 就不支持 $extension = [ 'name' => $package->getName(), 'version' => $package->getVersion(), ]; Download & Install PHP5.4 for Windows window php-5.4.0 之后不再支持 VC6 的编译包, 只下载到了 V

redis 报错 "CONFIG REWRITE failed: Permission denied"

无意中看到了redis的config rewrite这个命令.闲来无聊,所以打算自己做个实验.下面的文章是redis关于config rewrite的描述信息: CONFIG REWRITE 命令对启动 Redis 服务器时所指定的 redis.conf 文件进行改写: 因为 CONFIG SET 命令可以对服务器的当前配置进行修改, 而修改后的配置可能和 redis.conf 文件中所描述的配置不一样, CONFIG REWRITE 的作用就是通过尽可能少的修改, 将服务器当前所使用的配置记录

Redis的简单使用和介绍 linux(centos 5.4) redis install

Redis 是一个高性能的key-value数据库. redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用.它提供了Python,Ruby,Erlang,PHP,Java客户端,使用很方便.Redis使用单线程的IO复用模型,自己封装了一个简单的AeEvent事件处理框架,主要实现了epoll.kqueue和select,对于单纯只有IO操作来说,单线程可以将速度优势发挥到最大,但是Redis也提供了一些简单的计算功能,

如何在linux平台上安装redis(附自动安装脚本)

1.Redis的简单介绍 Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集合和有序集合.支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能.所以Redis也可以被看成是一个数据结构服务器. Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这被称为"半持久化模式");也可以把每一次数据变化都写到一个append onlyfile(aof)里

Redis源码解析(十六)--- config配置文件

每个系统都会有类似一个config配置文件,config文件里的内容想想都知道,一定就是那么一些固定的一行行的属性代码了,今天在看redis代码中的config属性,那拉下来的一笔,的确多,目测在50至100个属性左右.如果就此将config每个属性代表什么意思不是我的风格,也一定是很乏味的,所以我的特点就是在代码中去理解程序员在写这类代码时的思路,和茫茫代码中的亮点.我们知道,redis运行的环境包括很多种的,windows,Linux,mac os等等,不同的操作系统,当然有些属性就不能支持

centos6.5 64 源码安装redis服务,建立可远程连接的redis数据库

安装环境:centos6.5 64位 使用的包:redis-2.8.19.tar.gz  tcl8.6.3-src.tar.gz 包的下载链接:http://downloads.sourceforge.net/tcl/tcl8.6.3-src.tar.gz http://download.redis.io/releases/redis-2.8.19.tar.gz 本次安装的目录/home/hadoop/redis为任意目录 代码实现: 1,安装需要的支持环境 su root cd /home/h

NoSQL -- redis 安装 主从 配置详解 常用命令

Redis 也是key-value存储系统,官方站点 http://redis.io,但相对于memcache,有如下优势: 1.支持更多地value类型(string.hash.lists.sets.sorted sets等): 2.支持数据持久化,预防服务重启后需要重新存储: redis 有两种文件格式:全量数据(RDB=redis database).增量请求(aof=append only file). 前者是将内存中的数据写进磁盘,便于下次读取文件时直接进行加载,快照形式: 后者是将r

Nginx反向代理,负载均衡,redis session共享,keepalived高可用

相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此处可搭建服务器集群. redis服务器一台,用于session的分离共享. nginx主服务器:192.168.50.133 nginx备服务器:192.168.50.135 tomcat项目服务器1:192.168.50.137 tomcat项目服务器2:192.168.50.139 redis服