概述
Redis是Remote Dictionary Server的缩写。他本质上一个Key/Value数据库,与Memcached类似的NoSQL型数据库。今天把之前在生产环境下安装部署redis的过程整理了下,百变不离其宗,大家也可以自己安装下。
一、安装前环境说明
Linux环境,需要gcc++,make等。
1、配置yum源
2、操作系统选择:redhat、centos等主流linux系统
二、下载
Redis可以到官方网站下载,这里就不介绍了。
三、安装
1、解压后编译及安装
1.1、解压Redis的tar包
tar -xvf redis-3.2.9.tar.gz
1.2、编译安装
进入redis解压目录,执行如下命令编译Redis:
[root@node1 redis-3.2.9]# cd /opt/redis/redis-3.2.9[root@node1 redis-3.2.9]# make cd src && make allmake[1]: Entering directory `/opt/redis/redis-3.2.9/src'rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-rdb redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html(cd ../deps && make distclean)make[2]: Entering directory `/opt/redis/redis-3.2.9/deps'(cd hiredis && make clean) > /dev/null || true.........
2、编译完成后,在Src目录下,有四个可执行文件redis-server、redis-benchmark、redis-cli和redis.conf。然后拷贝到一个目录下。
[root@node1 src]# mkdir -p /usr/local/redis[root@node1 src]# cp redis-server /usr/local/redis/ [root@node1 src]# cp redis-benchmark /usr/local/redis/ [root@node1 src]# cp redis-cli /usr/local/redis
[root@node1 redis-3.2.9]# pwd/opt/redis/redis-3.2.9[root@node1 redis-3.2.9]# cp redis.conf /usr/local/redis/
三、启动、停止重新加载Redis配置
1、 启动Redis服务器
#cd /usr/local/redis
#./redis-server redis.conf
2、测试是否启动
2.1、启动redis-cli ping 返回PONG,启动成功。
[root@node1 redis]# ./redis-cli pingPONG
2.2、查看端口是否被占用:netstat –ntlp |grep 6379
[root@node1 redis]# netstat -ntpl|grep 6379tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 6999/./redis-server
2.3、查看redis服务
[root@node1 redis]# ps -ef|grep redisroot 9285 1 0 18:27 ? 00:00:00 /usr/local/redis/redis-server 127.0.0.1:6379 root 9292 7004 0 18:28 pts/1 00:00:00 grep redis
2.4、用客户端测试是否正常启动
3、停止Redis
关闭服务
redis-cli shutdown
[root@node1 redis]# ./redis-cli shutdown[root@node1 redis]# netstat -ntpl|grep 6379[root@node1 redis]#
四、redis.conf参数详解
vi /usr/local/redis/redis.conf #查找daemonize no改为 #以守护进程方式运行 daemonize yes #修改dir ./为绝对路径, #默认的话redis-server启动时会在当前目录生成或读取dump.rdb #所以如果在根目录下执行redis-server /etc/redis.conf的话, #读取的是根目录下的dump.rdb,为了使redis-server可在任意目录下执行 #所以此处将dir改为绝对路径 dir /usr/local/redis #修改appendonly为yes #指定是否在每次更新操作后进行日志记录, #Redis在默认情况下是异步的把数据写入磁盘, #如果不开启,可能会在断电时导致一段时间内的数据丢失。 #因为 redis本身同步数据文件是按上面save条件来同步的, #所以有的数据会在一段时间内只存在于内存中。默认为no appendonly yes
查看配置文件:grep -v '^#|^$' redis.conf
总结:
一般在项目中使用redis,主要是从两个角度去考虑:性能和并发。当然,redis还具备可以做分布式锁等其他功能,但是如果只是为了分布式锁这些其他功能,完全还有其他中间件(如zookpeer等)代替,并不是非要使用redis。个人比较推荐tomcat+mysql+redis这种架构(redis主要负责缓存和session保持)。
后面会分享更多运维方面的原创内容,感兴趣的朋友可以关注下!!