redis在Linux上的安装
1 安装redis编译的c环境
输入命令: 注意yum安装必须联网
yum install gcc-c++
如果提示是否需要下载输入y就可以开始下载。
2 redis安装
1 上传文件
2 解压文件到/usr/local下
tar -xvf redis-3.0.0.tar.gz -C /usr/local
3 编译redis(将.c文件编译成.o文件)
1) 进入redis-3.0.0文件内部
2)执行make 进行编译 如果没有提前安装c环境这里就会直接报错
到这里就已经编译完成了。
4 安装
前提:必须要进入到redis-3.0.0
输入命令:记得要指定安装路径,不然安装之后不好找到。PREFIX:指定安装路径。
使用 make PREFIX=/usr/local/redis install 命令安装redis到/usr/local/redis中
5 测试前端启动
输入命令: 注意要是在bin目录下:
./redis-server
这就代表你的redis启动成功了。但是在这里不能操作。如果需要操作的话,还需要打开另外一个客户端。
往里面存储一个数据测试一下
使用ctrl+c停止前端模式
6 复制文件
进入到redis-3.0.0中复制redis.conf 到 redis/bin下面
使用命令:
cp -r redis.conf ../redis/bin
7 后端启动
直接运行bin/redis-servet将以前端模式启动,前端模式启动的缺点是启动完成后,
不能再进行其它操作,如果要操作必须使用ctrl+c强制结束,同时redis-servet
程序也就结束了,所以不推荐使用这种方法。
1.修改上一步复制到redis/bin/redis.conf配置文件,daemonize yes 以后端模式启动。
执行下面的命令进入修改界面:
# vim /usr/local/redis/bin/redis.conf
修改前:
修改后:
然后启动服务直接指定使用刚刚修改后的配置文件
启动时,指定配置文件
8 后端启动关闭服务端
客户端命令行输入:shutdown就可以结束
3 redis使用
1 连接客户端
2 像redis服务器发送命令
4 开启远程连接
如需远程连接redis,需配置redis端口6379在linux防火墙中开发
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT /etc/rc.d/init.d/iptables save
5 前端启动的一些问题
ps -ef | grep redis
6 目录结构
7 redis的图形化界面
打开后的界面如下:
点击创建一个连接
要想能够远程连接成功,需配置redis端口6379在linux防火墙中开发。前面的安装已经配置,所以这里就不需要配置了。
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT /etc/rc.d/init.d/iptables save
点击Test Connection可以查看是否可以连接成功
可以看到一共有16个数据库
查看到添加的关键字和值:
添加新的关键字:
8 设置redis开机自启动
1 编写脚本
vim /etc/init.d/redis
2 编辑脚本内容
复制下面代码到脚本中
注意需要修改里面的redis的安装路径
# chkconfig: 2345 90 10 # description: Redis is a persistent key-value database REDISPORT=6379 EXEC=/usr/local/redis/bin/redis-server REDIS_CLI=/usr/local/redis/bin/redis-cli PIDFILE=/var/run/redis.pid CONF="/usr/local/redis/bin/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 -a redispsw -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
修改完成输入:wq保存退出。
特别需要注意的是:如果redis.conf的配置文件中开启了连接需要密码的话,
$REDIS_CLI -a redispsw -p $REDISPORT SHUTDOWN
必须在stop 部分中告知你的密码,不然的话,停止redis的时候,会出现权限不足。
几个需要自己配置的地方解释一下:
#redis服务器监听的端口 REDISPORT=6379 #服务端所处位置 EXEC=/usr/local/redis/bin/redis-server #客户端位置 CLIEXEC=/usr/local/redis/bin/redis-cli #Redis的PID文件位置(redis启动之后再/var/run/目录下面会有一个redis.pid的文件,redis停止之后这个文件就没有了) PIDFILE=/var/run/redis.pid #配置文件位置,需要修改 [也就是后端启动指定的配置文件的位置] CONF="/usr/local/redis/bin/redis.conf"
3 修改权限
[root@admin init.d]# chmod a+x /etc/init.d/redis
给予所有的用户执行权限。
4 设置开机自启动
# chkconfig redis on 设置开机自启动
如果想要取消开机自启动的话使用下面的命令
# chkconfig redis off 取消开机自启动
5 redis服务启动/停止/重启
# service redis start 启动redis服务 # service redis restart 重启redis服务 # service redis stop 关闭redis服务
9 查看redis是否开机自启动
[root@admin ~]# chkconfig | grep redis --color
10 redis常见的几个配置项
daemonize yes 是否作为守护进程,yes表示作为守护进程可以后端启动 no则不行
port 6379 redis的端口号6379
bind 0.0.0.0 开启远程访问
logfile "/var/redis/redis.log" 配置日志文件的位置,默认是当前位置
databases 16 数据库的个数,默认16个
RDB持久化策略
save 900 1 after 900 sec (15 min) if at least 1 key changed
save 300 10 after 300 sec (5 min) if at least 10 keys changed
save 60 10000 after 60 sec if at least 10000 keys changed
dbfilename dump.rdb RDB持久化策略的持久化文件名
dir /var/redis 持久化文件的存储位置 默认是当前位置 dir ./
requirepass yourpassword 配置密码 后面就是密码
AOF持久化策略:可以和RDB策略配合使用
appendonly yes yes表示开启AOF持久化,no表示关闭 默认是no关闭的
# appendfsync always
appendfsync everysec
# appendfsync no