redis连接与关闭
hello, 今天学习过程中需要使用redis,在使用过程中遇到了一些问题,在这里记录下,也希望给遇到相同问题的人一点帮助, ok开始描述今天遇到的问题和解决办法。
首页redis在linux的安装,请参考网站:点击打开链接
http://www.redis.net.cn/tutorial/3503.html 这个是网站上安装的版本过于老旧,目前最新版是Redis 4.0.6,而我安装的是3.2.8。因为我早就安装了redis,刚好要用,我就没有再去安装最新版。
$ wget http://download.redis.io/releases/redis-3.2.8.tar.gz
$ tar xzf redis-3.2.8.tar.gz
$ cd redis-3.2.8
$ make
启动什么的上面给出的网站有讲过,我就不再赘述了,我要说些网站上没有的东西,一般启动我们会以配置文件(redis.conf)的方式来启动, make之后在redis-3.2.8文件夹下会产生redis.conf文件,这里有几个参数需要说明下
1、daemonize no: Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程。
2、port 6379 : 这个我就是端口号,如果不想用默认的可以修改这个参数
3、bind 127.0.0.1: 绑定ip 127.0.0.1 只能本机访问,数据库来说至少公司内网都应该可能访问的,我改为0.0.0.0 表示所有网段都可以访问
4、requirepass 123456: 设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH <password>命令提供密码,默认关闭
更多参数请参考redis社区文档:点击打开链接
如果我没猜错的话,现在你应该已经启动了redis-server ,那么想再次启动你要怎么做呢? redis-server restart? 哈哈哈,我这样试了下。
好吧,严肃点,redis提供了服务器命令,向下面这样,先关闭在重新启动
[root@localhost src]# redis-cli #开始客户端连接
127.0.0.1:6379> auth 123456 #auth 密码登录
OK
127.0.0.1:6379> shutdown save #shutdown 关闭服务 save
not connected> exit # not connected 表示连接已经失去, exit 退出
[root@localhost src]#
[root@loca [root@localhost src]# ps -ef | grep redis- # ps 查找进程 redis-server 真的关闭了
root 2782 2508 0 05:57 pts/0 00:00:00 grep --color=auto redis-
[root@localhost src]# redis-server ../redis.conf #重启
好的,如果只说到这里就太没意思了,我们介绍下 utils 下的install_server.sh 这个是启动redis系统服务的脚本,系统服务怎么理解呢? 果然你很懂操作系统自然明白,但是如果你不懂的话,看一下windows任务管理器的服务,这个服务是可以右键启动和关闭的,install_server.sh 就是在linux系统上创建这个任务,然后可以通过systemctl stop/start命令启动和关闭。
下面是执行脚本, 里面有几个需要说明的步骤,在脚本执行过程中会让你选择在启动端口,配置文件路径,log文件路径,和数据文件路径,port可以用默认的,也可以指定,配置文件路径就用你自己的文件路径就好。log和数据文件路径随意。
[root@localhost redis-3.2.8]# cd utils
[root@localhost utils]# ls
build-static-symbols.tcl hyperloglog redis-sha1.rb
cluster_fail_time.tcl install_server.sh releasetools
corrupt_rdb.c lru speed-regression.tcl
create-cluster redis-copy.rb whatisdoing.sh
generate-command-help.rb redis_init_script
hashtable redis_init_script.tpl
[root@localhost utils]# ./install_server.sh
Welcome to the redis service installer
This script will help you easily set up a running redis serverPlease select the redis port for this instance: [6379]
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf] /opt/redis-3.2.8
Please select the redis log file name [/var/log/redis_6379.log] /opt/redis-3.2.8/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379] /opt/redis-3.2.8/redis_data_6379
Please select the redis executable path [/usr/local/bin/redis-server]
Selected config:
Port : 6379
Config file : /opt/redis-3.2.8
Log file : /opt/redis-3.2.8/redis_6379.log
Data dir : /opt/redis-3.2.8/redis_data_6379
Executable : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
Is this ok? Then press ENTER to go on or Ctrl-C to abort.ok^H
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
/var/run/redis_6379.pid exists, process is already running or crashed
Installation successful!
[root@localhost utils]#
如果你想知道这个脚本是如何创建系统服务的并且有shell能力的话,就可以读读install_server.sh这脚本
其中有一句 /etc/init.d/redis_$REDIS_PORT start || die "Failed starting service..." 这句会在/etc/init.d/这个目录下创建一个redis_加上端口号的文件,这里我用的6379, 所以他的文件名叫redis_6379, 如果你想修改什么的话,可以通过修改这个文件。因为我写错了配置文件的路径,导致启动时使用了默认密码,所以我去改了这个文件的Config file : /opt/redis-3.2.8/redis.conf ,然后重启启动服务
[root@localhost init.d]# systemctl daemon-reload #文件发生了变化,需要重新加载
[root@localhost init.d]# systemctl start redis_6379 #重新启动,恢复密码验证,说明修改起了作用了 [root@localhost redis-3.2.8]# ./src/redis-cli
127.0.0.1:6379> get keys
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379>
# install_server.sh 脚本内容
[root@localhost init.d]# vi redis_6379
#!/bin/sh
#Configurations injected by install_server below....EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_6379.pid
CONF="/opt/redis-3.2.8"
REDISPORT="6379"
###############
# SysV Init Information
# chkconfig: - 58 74
# description: redis_6379 is the redis daemon.
### BEGIN INIT INFO
# Provides: redis_6379
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Should-Start: $syslog $named
# Should-Stop: $syslog $named
# Short-Description: start and stop redis_6379
# Description: Redis daemon
### END INIT INFOcase "$1" instart)if [ -f $PIDFILE ]thenecho "$PIDFILE exists, process is already running or crashed"elseecho "Starting Redis server..."$EXEC $CONFfi;;stop)if [ ! -f $PIDFILE ]thenecho "$PIDFILE does not exist, process is not running"elsePID=$(cat $PIDFILE)echo "Stopping ..."$CLIEXEC -p $REDISPORT shutdownwhile [ -x /proc/${PID} ]doecho "Waiting for Redis to shutdown ..."sleep 1doneecho "Redis stopped"fi;;status)PID=$(cat $PIDFILE)if [ ! -x /proc/${PID} ]thenecho 'Redis is not running'elseecho "Redis is running ($PID)"fi;;restart)$0 stop$0 start;;*)echo "Please use start, stop, restart or status as first argument";;
esac
如果看客老爷看到了这里,那小的万分感谢,自己回头看了下,写的什么乱七八糟的东西。。哈哈哈,如果对你有那么一点帮助的话,请帮忙点个赞,留个言啥的,毕竟自己玩好无聊,如果没有任何帮助的,权当我自嗨了,有时候写点博客能让自己坐的住,安稳的研究下技术还是挺开心的。
redis连接与关闭相关推荐
- java长连接转短连接_java原生程序redis连接(连接池/长连接和短连接)选择问题...
原标题:java原生程序redis连接(连接池/长连接和短连接)选择问题 最近遇到的连接问题我准备从重构的几个程序(redis和mysql)长连接和短连接,以及连接池和单连接等问题用几篇博客来总结下. ...
- python redis连接池获取后关闭_python通过连接池连接redis,操作redis队列
在每次使用redis都进行连接的话会拉低redis的效率,都知道redis是基于内存的数据库,效率贼高,所以每次进行连接比真正使用消耗的资源和时间还多.所以为了节省资源,减少多次连接损耗,连接池的作用 ...
- PHP- 深入PHP、Redis连接
pconnect, phpredis中用于client连接server的api. The connection will not be closed on close or end of reques ...
- redis 命令 释放连接_redis scan命令导致redis连接耗尽,线程上锁的解决
使用redis scan方法无法获取connection,导致线程锁死. 0.关键字 redis springboot redistemplate scan try-with-resource 1.异 ...
- java操作redis redis连接池
redis作为缓存型数据库,越来越受到大家的欢迎,这里简单介绍一下java如何操作redis. 1.java连接redis java通过需要jedis的jar包获取Jedis连接. jedis-2.8 ...
- 深入Redis客户端(redis客户端属性、redis缓冲区、关闭redis客户端)
深入Redis客户端(redis客户端属性.redis缓冲区.关闭redis客户端) Redis 数据库采用 I/O 多路复用技术实现文件事件处理器,服务器采用单线程单进程的方式来处理多个客户端发送过 ...
- php predis连接超时,如何解决redis连接超时问题
问题描述: redis连接超时,然后定位到redis配置文件目录被删除,接着尝试重启redis,发现连接中断,未启动成功. 报错: 查看redis的输出日志.出现下图所示的报错: 根据提示在/etc/ ...
- Redis 连接命令介绍
Redis 连接命令主要是用于连接 redis 服务. redis连接命令介绍 AUTH password 说明:AUTH命令用来检测给定的密码和配置文件中的密码是否相同 返回:如果密码匹配则返回OK ...
- Redis连接自动释放
一.正常释放连接 正常释放连接的代码如下: import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import ...
最新文章
- 独家 | 建立软件的经济学分析框架,浅议开源软件的经济学特性(附图解)
- 安卓高手之路之图形系统(6)requestLayout的流程
- 对于随机森林的通俗理解
- 正点原子stm32f407开发板pcb图_#试用名单公布#正点原子ARM Linux开发板I.MX6ULL
- pytest入门学习(2)
- 叉积 微分 恒等式_考研真题分章解析 | 第二章 导数与微分
- 使用vue-CLI构建vue工程项目
- LeetCode 2148. 元素计数
- python中为什么推荐使用with_Python中的with关键字使用详解
- linux依据时间过滤文件,详解Linux查找目录下的按时间过滤的文件
- B站,N站,汤站,爬虫下载资源总结与技巧(一)
- 【题解】狼和羊-C++
- unity 相机(物体)自动前移,单击屏幕后退
- BZOJ4293 : [PA2015]Siano
- Cadence如何画PCB封装库
- 使用ArcGIS软件进行投影变换和坐标校正
- 手机自带抖音无水印视频下载功能,另推荐抖音短视频去水印网页版
- TCP拥塞控制——慢开始与拥塞避免AIMD
- mysql5.7架设征途服务器_征途手工架设服务端+配套双客户端+架设流程
- 公司/企业如何管理?管理技巧是什么?《宁向东管理学课》音频资料免费下载
热门文章
- 新疆计算机一级考试excel公式,2020年XX专业技术人员继续教育公需课《Excel快速统计》试题及答案...
- JDBC(Java数据库连接) 学习笔记 第四天
- 软考中级 真题 2016年上半年 信息系统管理工程师 基础知识
- 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(上海)G Fibonacci
- 洛谷P2851 [USACO06DEC]The Fewest Coins G 题解
- C语言数字图像处理---2.3图像空域滤波
- Html中如何自定义Video显示的长宽比
- Java实现 蓝桥杯VIP 算法提高 研究兔子的土豪
- idea修改git账号密码
- 重磅!《中国DevOps现状调查报告(2021年)》正式发布!(附报告获取方式)