本文环境为linux环境下,对redis的操作:
一. Redis安装:
1. 创建目录并将下载redis安装包上传到该目录下, 建议软件放到新建的soft文件夹下, 便于管理: [root@sjclinux9 ~]# cd /usr/local/soft/ 2. 解压压缩包 [root@sjclinux9 soft]# tar -zxvfredis-5.0.5.tar.gz 3. yum安装gcc依赖(遇到选择,输入y即可) [root@sjclinux9 soft]# yum install gcc 4.编译 [root@sjclinux9 ~]# cd /usr/local/soft/redis-5.0.5/ [root@sjclinux9 redis-5.0.5]# make MALLOC=libc 4.1安装异常处理-(如果没遇到, 可跳过) 安装redis,执行make test时遇到: You need tcl 8.5 or newer in order to run the Redis test [root@sjclinux9 redis-5.0.5]# yum install tcl 5.安装, 将/usr/redis/redis-5.0.5/src目录下的文件加到/usr/local/bin目录 [root@sjclinux9 redis-5.0.5]# cd src && make install 6.修改redis.conf文件 设置redis可以后台进程启动,将daemonize no修改为daemonize yes; 设置redis可以外部IP访问,将bind 127.0.0.1修改为bind 0.0.0.0; 设置redis密码,requirepass 默认无密码,可以设置requirepass redis [root@sjclinux9 ~]# vi/usr/local/soft/redis-5.0.5/redis.conf 输入a, 进入insert编辑模式, 修改好之后,按ESC,输入:wq存盘退出。(如果写错了,:q不存盘退出)
二. Redis启动(conf配置文件的daemonize 必须为yes):
redis启动, 一般要以后台进程方式启动, 建议使用高级启动
1.1 高级启动, 指定redis.conf文件启动,忽略日志 (conf配置文件的daemonize 必须为yes)
[root@sjclinux9 ~]# cd /usr/local/soft/redis-5.0.5
[root@sjclinux9 redis-5.0.5]# nohup ./src/redis-server ./redis.conf &
再按enter键,即启动;
可用ps -ef|grep redis查看6379端口是否启动成功。
1.2 普通启动, 指定redis.conf文件启动
[root@sjclinux9 ~]# cd /usr/local/soft/redis-5.0.5/src
[root@sjclinux9 redis-5.0.5]# ./redis-server /usr/local/soft/redis-5.0.5/redis.conf
2. 注意:关闭进程方式:
首先使用ps -aux | grep redis查看redis进程 ps -aux | grep redis
然后使用kill命令杀死进程 kill -9 进程序号
三. 设置Redis开机启动:
1. 在/etc目录下新建redis目录 [root@sjclinux9 ~]# cd /etc [root@sjclinux9 etc]# mkdir redis 2. 将/usr/local/soft/redis-5.0.5/redis.conf 文件复制一份到/etc/redis目录下,并命名为6379.conf (注意:需要重命名文件,最好按照以下命令执行:) [root@sjclinux9 etc]# cp /usr/local/soft/redis-5.0.5/redis.conf /etc/redis/6379.conf 3. 将redis的启动脚本复制一份放到/etc/init.d目录下 [root@sjclinux9 etc]# cp /usr/local/soft/redis-5.0.5/utils/redis_init_script /etc/init.d/redisd 4. 设置redis开机自启动 [root@sjclinux9 etc]# chkconfig redisd on (设为开机关闭:chkconfig redis off) 4.1异常处理--如没有遇到, 可不处理: 报错“service redisd does not support chkconfig”解决方法: 使用vim编辑redisd文件,在第一行加入如下两行注释,保存退出 # chkconfig: 2345 90 10 # description: Redis is a persistent key-value database 注释的意思是,redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。 5. 服务说明:开机启动设置好之后, 就可以直接已服务的形式启动和关闭redis了 启动:service redisd start 关闭:service redisd stop 6. 测试,设置开机启动完成后, 重启linux: [root@sjclinux9 ~]# reboot 重新连接机器,查看redis是否启动: [root@sjclinux9 ~]# ps -ef|grep redis 如果能看到6379的redis默认端口,说明设置成功
四. Redis其他信息:
1. /usr/local/bin目录下的几个关键文件: redis-benchmark:redis性能测试工具 redis-check-aof:检查aof日志的工具 redis-check-dump:检查rdb日志的工具 redis-cli:连接用的客户端 redis-server:redis服务进程 2. conf 配置项介绍 daemonize:如需要在后台运行,把该项的值改为yes bind:默认127.0.0.1,只会监听当前机器,会导致外网无法访问,可以设置ip,改成0.0.0.0,开放所有ip访问,但是会导致安全问题,应该设置密码(默认没有密码) requirepass:设置redis密码,默认无密码 port:监听端口,默认为6379 timeout:设置客户端连接时的超时时间,单位为秒 pdifile:把pid文件放在/var/run/redis.pid,可以配置到其他地址 loglevel:等级分为4级,debug,revbose,notice和warning。生产环境下一般开启notice logfile:配置log文件地址,默认使用标准输出,即打印在命令行终端的端口上 database:设置数据库的个数,默认使用的数据库是0 save:设置redis进行数据库镜像的频率 rdbcompression:在进行镜像备份时,是否进行压缩 dbfilename:镜像备份文件的文件名 dir:数据库镜像备份的文件放置的路径 slaveof:设置该数据库为其他数据库的从数据库 masterauth:当主数据库连接需要密码验证时,在这里设定 maxclients:限制同时连接的客户端数量 maxmemory:设置redis能够使用的最大内存 appendonly:开启appendonly模式后,redis会把每一次所接收到的写操作都追加到appendonly.aof文件中, 当redis重新启动时,会从该文件恢复出之前的状态。 appendfsync:设置appendonly.aof文件进行同步的频率 vm_enabled:是否开启虚拟内存支持 vm_swap_file:设置虚拟内存的交换文件的路径 vm_max_momery:设置开启虚拟内存后,redis将使用的最大物理内存的大小,默认为0 vm_page_size:设置虚拟内存页的大小 vm_pages:设置交换文件的总的page数量