Linux下安装Redis

摘要  在Linux下按照Redis,并设置开机启动。

1. 安装依赖包

首先,安装Redis所依赖的TCL工具包。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 下载
wget http: //downloads .sourceforge.net /tcl/tcl8 .6.1-src. tar .gz
# 解压缩
tar -xf tcl8.6.0-html. tar .gz
# 配置安装
cd unix &&
. /configure --prefix= /usr           \
             --without-tzdata        \
             --mandir= /usr/share/man \
             $([ $( uname -m) = x86_64 ] && echo -- enable -64bit) &&
make &&
sed -e "s@^\(TCL_SRC_DIR='\).*@\1/usr/include'@" \
     -e "/TCL_B/s@='\(-L\)\?.*unix@='\1/usr/lib@" \
     -i tclConfig.sh
# 测试make是否成功
make test
 
# root用户登录,执行下面命令
make install &&
make install -private-headers &&
ln - v -sf tclsh8.6 /usr/bin/tclsh &&
chmod - v 755 /usr/lib/libtcl8 .6.so

    有关TCL的更详细的说明,请见 http://www.linuxfromscratch.org/blfs/view/svn/general/tcl.html

2. 安装Redis

    下面,就可以安装Redis了。

?
1
2
3
4
5
6
7
# 下载redis稳定版,解压缩并安装
wget http: //download .redis.io /redis-stable . tar .gz
tar xzf redis-3.0.0. tar .gz
cd <span>< /span >redis-3.0.0<span>< /span > make
# 测试make是否成功
make test
make install

    然后可以进入redis目录,尝试启动redis

?
1
. /src/redis-server redis.conf

    至此redis安装已经完成了。

    在make test中可能会遇到时间相关的失败,比如

Executing test client: NOREPLICAS Not enough good slaves to write..

    这种情况下,可以修改文件tests/integration/replication-2.tcl,将after 1000改为after 10000以延长等待时间。

    更多关于Redis安装的信息,请见 http://redis.io/download

3. C客户端hiredis

    如果想要使用C程序调用Redis,安装官方C客户端hiredis。方便的是,目前的redis下载包中已经包含了hiredis的安装包,只需要到redis安装目录下,执行以下命令即可:

?
1
2
3
4
5
6
7
8
# 进入hiredis文件夹并安装
cd /deps/hiredis
make
# 测试make是否成功
make test
# 使用root用户,安装动态文件文件,并更新
make install
/sbin/ldconfig /usr/local/lib

    可以执行hiredis文件夹下的hiredis-example来测试hiredis是否成功安装。

?
1
. /hiredis-example
      hiredis-example由example.c编译而成,包括了简单的redis通过C连接调用的例子,也可以自己重新编译一遍
?
1
2
cc example.c -lhiredis
. /a .out

    关于hiredis的更多说明,可以参照 https://github.com/redis/hiredis

4. Python客户端redis-py

    redis的Python客户端目前尚不存在官方版本,但是官方推荐的为redis-py。在安装完redis服务器后,执行下面命令安装redis-py。
?
1
pip install redis
     redis-py通过解析器(Parser)来解析Redis服务器的响应内容,目前有两种解析器可用,分别是PythonParser和HiredisParser。redis-py的默认解析器是HiredisParser,如果不存在则使用PythonParser。推荐安装使用Hiredis进行解析,因为相比Python解析,它提升了10倍的解析速度。

    安装Hiredis:

?
1
pip install hiredis
    redis-py还实现了连接池等功能。

    关于redis-py的更多说明,可以参照 https://github.com/andymccurdy/redis-py

5. 高级设置

    最后,配置生产环境,并设置redis的开机启动。

    首先,建立存放redis配置文件和持久化RDB数据的文件夹:

?
1
2
sudo mkdir /etc/redis
sudo mkdir /var/redis
    拷贝redis的启动脚本到/etc/init.d文件夹中:
?
1
sudo cp utils /redis_init_script /etc/init .d /redis_6379
    拷贝redis的配置文件到/etc/redis中,并且以端口号作为文件名:
?
1
sudo cp redis.conf /etc/redis/6379 .conf
    在/var/redis中创建文件夹作为redis实例的数据和工作目录:
?
1
sudo mkdir /var/redis/6379

    按下面要求修改配置文件:
  • 设置 demonize 为 yes(默认是no)
  • 设置 pidfile 为 /var/run/redis_6379.pid
  • 设置 loglevel 为相应级别
  • 设置 logfile 为 /var/log/redis_6379.log
  • 设置 dir 为 /var/redis/6379

    最后,设置redis实例的开机启动。在Ubuntu上直接运行:

?
1
sudo update-rc.d redis_6379 defaults
    如果是CentOS,修改/etc/init.d/redis_6379,添加下面内容:

?
1
2
3
4
5
6
7
8
9
10
# Provides:     redis-server
# Required-Start:   $syslog
# Required-Stop:    $syslog
# Should-Start:     $local_fs
# Should-Stop:      $local_fs
# Default-Start:    2 3 4 5
# Default-Stop:     0 1 6
# Short-Description:    redis-server - Persistent key-value db
# Description:      redis-server - Persistent key-value db
### END INIT INFO
    然后执行chkconfig即可。

?
1
sudo chkconfig --add redis_6379

    关于配置的更多内容,参照 http://redis.io/topics/quickstart


持久化内存问题:

    Redis在持久化时会重新启动一个进程,占用的内存资源与Redis实例相同,因此可能会造成内存不足,产生难以预知的后果。为了防止该事件发生,可以将overcommit_memory设置为1。

    设置方法:

    1. 修改文件/etc/sysctl.conf,添加

        vm.overcommit_memory = 1

        然后重新启动。

    2. 执行命令sysctl vm.overcommit_memory=1

        这样在下次启动时会恢复默认设置,因此仍然需要在/etc/sysctl.conf中添加。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值