在开发过程中,经常会遇到缓存数据的问题,Java里面用来缓存数据的有Ehcache,redis,memcached等缓存技术,这几种缓存技术我在项目中都使用过,就我开发过程中来看,觉得Redis还是比较好用一些,功能更强大一些,缓存数据格式多样化一些。下面我就讲讲怎么在Linux系统上安装Redis以及安装过程中需要主要的事项。
1.下载最新稳定版的Redis
下载地址 http://redis.io/download
推荐下载r最新版的edis-3.2.1.tar.gz,因为版本越高,功能越强,而且本来就会兼容以前的功能。
2.安装Redis
a) 下载后把 redis-1.2.6.tar.gz 拷贝到你的Linux系统的任意目录,例如/usr/local/tools下面
b) 然后进行解压操作,tar -zxvf redis-3.2.1.tar.gz ,解压后在你的目录下会生成redis-3.2.1文件夹
c) 进入redis-3.2.1文件夹里面, cd /usr/local/tools/redis-3.2.1 ,然后执行make操作
如果在make过程出现错误,可能是你 Linux系统里面没有安装Redis 需要的插件,你可以使用下面命令进行安装:
yum -y install gcc gcc-c++ libstdc++-devel
安装完后,再执行make命令,如果还有错误的话,
如果报错
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/data0/src/redis-2.6.2/src'
make: *** [all] Error 2
解决办法很简单,执行以下命令就OK了:
make MALLOC=libc
理由是:Redis并没有自己实现内存池,没有在标准的系统内存分配器上再加上自己的东西。
d) 拷贝文件以备把Redis做成自启动服务,就是你在启动Linux系统的使用就会把Redis 服务一起启动起来
cp redis.conf /etc/ 这个文件时redis启动的配置文件
cp redis-benchmark redis-cli redis-server /usr/bin/ #这个很有用,这样就不用再执行时加上./了,而且可以在任何地方执行
e) 如果你的Linux系统有防火墙的话,你需要更改以下防火墙的设置或者直接关掉防火墙,不过你关掉防火墙的话,就不能保护你的电脑了。
开启redis端口,修改防火墙配置文件 vi /etc/sysconfig/iptables
加入端口配置 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
重新加载规则 service iptables restart
到这你的Redis 就安装完了。
3.Redis 自启动服务实现
新建文件 /etc/init.d/redis 并赋予它权限 chmod +x /etc/init.d/redis
在 /etc/init.d/redis 文件中添加以下代码:
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
PATH=/usr/local/bin:/sbin:/usr/bin:/bin REDISPORT=6379 EXEC=/usr/local/bin/redis-server
//EXEC和REDIS_CLI这两个路径需要注意的是,它的路径是你Redis安装包路径下面的redis-server 和
redis-cli
REDIS_CLI=/usr/local/bin/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 does not exist, 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以上实现以后,你还需要修改redis.conf文件,将 daemonize no 改为 daemonize yes,让它在后台作为daemon运行。
设定开机启动服务
chkconfig redis on
然后就可以开启 Redis服务了,命令: service redis start 。关闭命令: service redis stop.
4. 查看Redis服务是否开启
通过命令: ps -ef|grep redis 可以查看它的服务是否开启。
本文详细介绍如何在Linux系统上安装Redis,并配置其为自启动服务。包括下载、安装、解决make过程中的常见错误及防火墙配置等内容。
1684

被折叠的 条评论
为什么被折叠?



