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连接与关闭相关推荐

  1. java长连接转短连接_java原生程序redis连接(连接池/长连接和短连接)选择问题...

    原标题:java原生程序redis连接(连接池/长连接和短连接)选择问题 最近遇到的连接问题我准备从重构的几个程序(redis和mysql)长连接和短连接,以及连接池和单连接等问题用几篇博客来总结下. ...

  2. python redis连接池获取后关闭_python通过连接池连接redis,操作redis队列

    在每次使用redis都进行连接的话会拉低redis的效率,都知道redis是基于内存的数据库,效率贼高,所以每次进行连接比真正使用消耗的资源和时间还多.所以为了节省资源,减少多次连接损耗,连接池的作用 ...

  3. PHP- 深入PHP、Redis连接

    pconnect, phpredis中用于client连接server的api. The connection will not be closed on close or end of reques ...

  4. redis 命令 释放连接_redis scan命令导致redis连接耗尽,线程上锁的解决

    使用redis scan方法无法获取connection,导致线程锁死. 0.关键字 redis springboot redistemplate scan try-with-resource 1.异 ...

  5. java操作redis redis连接池

    redis作为缓存型数据库,越来越受到大家的欢迎,这里简单介绍一下java如何操作redis. 1.java连接redis java通过需要jedis的jar包获取Jedis连接. jedis-2.8 ...

  6. 深入Redis客户端(redis客户端属性、redis缓冲区、关闭redis客户端)

    深入Redis客户端(redis客户端属性.redis缓冲区.关闭redis客户端) Redis 数据库采用 I/O 多路复用技术实现文件事件处理器,服务器采用单线程单进程的方式来处理多个客户端发送过 ...

  7. php predis连接超时,如何解决redis连接超时问题

    问题描述: redis连接超时,然后定位到redis配置文件目录被删除,接着尝试重启redis,发现连接中断,未启动成功. 报错: 查看redis的输出日志.出现下图所示的报错: 根据提示在/etc/ ...

  8. Redis 连接命令介绍

    Redis 连接命令主要是用于连接 redis 服务. redis连接命令介绍 AUTH password 说明:AUTH命令用来检测给定的密码和配置文件中的密码是否相同 返回:如果密码匹配则返回OK ...

  9. Redis连接自动释放

    一.正常释放连接 正常释放连接的代码如下: import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import ...

最新文章

  1. 独家 | 建立软件的经济学分析框架,浅议开源软件的经济学特性(附图解)
  2. 安卓高手之路之图形系统(6)requestLayout的流程
  3. 对于随机森林的通俗理解
  4. 正点原子stm32f407开发板pcb图_#试用名单公布#正点原子ARM Linux开发板I.MX6ULL
  5. pytest入门学习(2)
  6. 叉积 微分 恒等式_考研真题分章解析 | 第二章 导数与微分
  7. 使用vue-CLI构建vue工程项目
  8. LeetCode 2148. 元素计数
  9. python中为什么推荐使用with_Python中的with关键字使用详解
  10. linux依据时间过滤文件,详解Linux查找目录下的按时间过滤的文件
  11. B站,N站,汤站,爬虫下载资源总结与技巧(一)
  12. 【题解】狼和羊-C++
  13. unity 相机(物体)自动前移,单击屏幕后退
  14. BZOJ4293 : [PA2015]Siano
  15. Cadence如何画PCB封装库
  16. 使用ArcGIS软件进行投影变换和坐标校正
  17. 手机自带抖音无水印视频下载功能,另推荐抖音短视频去水印网页版
  18. TCP拥塞控制——慢开始与拥塞避免AIMD
  19. mysql5.7架设征途服务器_征途手工架设服务端+配套双客户端+架设流程
  20. 公司/企业如何管理?管理技巧是什么?《宁向东管理学课》音频资料免费下载

热门文章

  1. 新疆计算机一级考试excel公式,2020年XX专业技术人员继续教育公需课《Excel快速统计》试题及答案...
  2. JDBC(Java数据库连接) 学习笔记 第四天
  3. 软考中级 真题 2016年上半年 信息系统管理工程师 基础知识
  4. 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(上海)G Fibonacci
  5. 洛谷P2851 [USACO06DEC]The Fewest Coins G 题解
  6. C语言数字图像处理---2.3图像空域滤波
  7. Html中如何自定义Video显示的长宽比
  8. Java实现 蓝桥杯VIP 算法提高 研究兔子的土豪
  9. idea修改git账号密码
  10. 重磅!《中国DevOps现状调查报告(2021年)》正式发布!(附报告获取方式)