Redis入门
一,下载安装
1.下载安装
你可以在redis官网(https://redis.io/download)找到下载安装的过程如下所示:
$ wget http://download.redis.io/releases/redis-6.0.3.tar.gz
$ tar xzf redis-6.0.3.tar.gz
$ cd redis-6.0.3
$ make && make PREFIX=/usr/local/redis install
2.报错处理
安装过程中遇到报错
报错原因是由于gcc版本不够下面是解决办法(来源:https://blog.csdn.net/P_ning/java/article/details/106146374)
# 查看gcc版本是否在5.3以上,centos7.6默认安装4.8.5
gcc -v
# 下载包
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
临时升级,退出shell或重启就会恢复原系统gcc版本
# 升级gcc到5.3及以上,如下:
scl enable devtoolset-9 bash
如果要长期使用gcc 9.3的话:
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
尝试用命令
# 编译出错时,清出编译生成的文件
make distclean
# 编译安装到指定目录下
make PREFIX=指定路径下 install
# 卸载
make uninstall
重启服务器后重新编译安装就可以了。
src/redis-server3.设置后台运行和指定日志
$ cd /usr/local/redis //进入安装后的目录
$ mkdir etc logs //新建两个目录
$ cp /root/redis-6.0.3/redis.conf etc/redis.conf //复制配置文件
通过修改redis.conf文件,搜索daemonize关键字,将 daemonize no 修改为 daemonize yes ,设置以后台方式启动和关闭
若需要开启日志记录功能,将redis.conf 文件中的 loglevel 和 logfile 属性
$ vi /usr/local/redis/etc/redis.conf
$ /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf //指定配置文件启动
$ ps -ef | grep redis //查看进程
$ netstat -tunpl | grep 6379 //查看端口
客户端命令链接服务器
/usr/local/redis/bin/redis-cli
redis 127.0.0.1:6379>
redis 127.0.0.1:6379>quit 退出
# pkill redis-server 结束redis进程。
或: # /usr/local/redis/bin/redis-cli shutdown 执行关闭
flushdb:删除所有的数据
二,开机自启动
系统开机启动时会去加载/etc/init.d/下面的脚本,通常而言每个脚本文件会自定义实现程序的启动;若想将新的程序开机自启动,只需在该目录下添加一个自定义启动程序的脚本,然后设置相应规则即可。 (参考:https://blog.csdn.net/ai_64/java/article/details/101042895)
[root@localhost ~]# cd /etc/init.d
[root@localhost init.d]# touch redis
[root@localhost init.d]# chmod 777 redis
[root@localhost init.d]# vi redis
启动脚本内容
#!/bin/bash
#chkconfig: 22345 10 90 // redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。
#description: Start and Stop redis
REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/usr/local/redis/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
;;
stop)
if [ ! -f $PIDFILE ];then
echo "$PIDFILE does not exist,process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown..."
sleep 1
done
echo "Redis stopped"
fi
;;
restart)
"$0" stop
sleep 3
"$0" start
;;
*)
echo "Please use start or stop or restart as first argument"
;;
esac
查看所有注册的脚本文件[root@localhost ~]# chkconfig --add redis //服务的形式启动和关闭redis
[root@localhost ~]# chkconfig redis on //加入开机自启服务
[root@localhost ~]# chkconfig --list //查看所有注册的脚本文件
强制关掉电源或断电造成的,也是没等linux正常关机。这些会照成redis启动失败。启动失败时往往会提示 :
/var/run/redis_6379.pid exists, process is already running or crashed
解决方法:
1:可用安装文件启动 redis-server /etc/redis/6379.conf
2:shutdown -r now 软重启让系统自动恢复下就行了。
linux 运行级别含义:
运行级别就是操作系统当前正在运行的功能级别。这个级别从0到6 ,具有不同的功能。这些级别在/etc/inittab文件里指定。这个文件是init程序寻找的主要文件,最先运行的服务是那些放在/etc/rc.d 目录下的文件。
不同的运行级定义如下:(可以参考Linux里面的/etc/inittab)
# 缺省的运行级,RHS用到的级别如下:
0:关机
1:单用户模式
2:无网络支持的多用户模式
3:有网络支持的多用户模式
4:保留,未使用
5:有网络支持有X-Window支持的多用户模式
6:重新引导系统,即重启
通俗的解释:
0 为停机,机器关闭。
1 为单用户模式,就像Win9x下的安全模式类似。
2 为多用户模式,但是没有NFS支持。
3 为完整的多用户模式,是标准的运行级。
4 一般不用,在一些特殊情况下可以用它来做一些事情。
例如在笔记本 电脑的电池用尽时,可以切换到这个模式来做一些设置。
5 就是X11,进到X Window系统了。
6 为重启,运行init 6机器就会重启。