Linux(Centos7)下redis5安装、部署、开机自启
1.什么是redis
redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止redis支持的键值数据类型如下字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)
2.redis的应用场景
缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用)
分布式集群架构中的session分离。
聊天室的在线好友列表。
任务队列。(秒杀、抢购、12306等等)
应用排行榜。
网站访问统计。
数据过期处理(可以精确到毫秒)
3.redis的安装
下面介绍在CentOS环境下,Redis的安装与部署,redis从3.0版本以后增加了集群功能。
步骤如下:
由于Redis是用C语言编写,所以编译时需要gcc,
yum install gcc-c++
通过官网下载 地址:http://download.redis.io/releases/redis-5.0.0.tar.gz
或 使用linux wget命令:wget http://download.redis.io/releases/redis-5.0.0.tar.gz
把源码包上传到linux服务器,在上传的目录下进行解压
tar -zxvf redis-5.0.0.tar.gz
进入解压后的目录进行编译make,指定目录安装make install 如 /usr/local/redis
cd redis-5.0.0/
make (这里进redis-5.0.0/目录下直接make编译就好了)
make install PREFIX=/usr/local/redis (指定编译路径)
进入安装目录bin下
cd /usr/local/redis/bin
- redis-benchmark redis性能测试工具
- redis-check-aof AOF文件修复工具
- redis-check-rdb RDB文件修复工具
- redis-cli redis命令行客户端
- redis.conf redis配置文件
- redis-sentinal redis集群管理工具
- redis-server redis服务进程
4.启动Redis
1.前端模式启动
/usr/local/redis/bin/redis-server 或 cd /usr/local/redis/bin 运行 ./redis-server
前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束,故不推荐使用此方法。
2.后端模式启动
1)从redis的源码目录中复制redis.conf到redis的安装目录bin下。
cp /root/redis-5.0.0/redis.conf /usr/local/redis/bin
2)修改配置文件 (是否后台启动)
vim /usr/local/redis/bin/redis.conf
找到 daemonize 按i 进入编辑模式 把no 改为 yes
按ESC + :wq 保存退出
执行如下命令启动redis:
cd /usr/local/redis/bin./redis-server ./redis.conf
3.查看是否启动成功
ps aux|grep redis
redis默认端口为 6379,可更改redis.conf文件,修改端口号
5. 关闭redis
强行终止redis进程可能会导致redis持久化数据丢失。
正确停止Redis的方式应该是向Redis发送SHUTDOWN命令,
命令为:
cd /usr/local/redis ./bin/redis-cli shutdown
强行终止redis
pkill redis-server
6.让redis开机自启
方法一:
1) vim /etc/init.d/redis 编写脚本 (输入下面的代码)
# chkconfig: 2345 10 90
# description: Start and Stop redisPATH=/usr/local/bin:/sbin:/usr/bin:/binREDISPORT=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" instart)if [ -f $PIDFILE ]thenecho "$PIDFILE exists, process is already running or crashed."elseecho "Starting Redis server..."$EXEC $CONFfiif [ "$?"="0" ]thenecho "Redis is running..."fi;;stop)if [ ! -f $PIDFILE ]thenecho "$PIDFILE exists, process is not running."elsePID=$(cat $PIDFILE)echo "Stopping..."$REDIS_CLI -p $REDISPORT SHUTDOWNwhile [ -x $PIDFILE ]doecho "Waiting for Redis to shutdown..."sleep 1doneecho "Redis stopped"fi;;restart|force-reload)${0} stop${0} start;;*)echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2exit 1
esac
2) 配置开机启动
chmod 755 /etc/init.d/redis #设置文件redis的权限,让Linux可以执行 chkconfig redis on #开启服务自启动 chkconfig --list #查看所有注册的脚本文件 service redis start #启动 service redis stop #关闭redis
3) 检测是否成功
reboot #重启--如果是centos6.5学过来的,init 0与init 6一样在centos7适用
ps aux|grep redis #查看redis进程是否存在
方法二:(centos7推荐)
centos 7以上是用Systemd进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。
Systemd服务文件以.service结尾,比如现在要建立redis为开机启动,如果用yum install命令安装的,yum命令会自动创建redis.service文件,直接用命令systemcel enable redis.service设置开机启动即可
1.在系统服务目录里创建redis.service文件
vim /etc/systemd/system/redis.service
写入以下内容:
[Unit] Description=redis-server After=network.target[Service] Type=forking ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf PrivateTmp=true[Install] WantedBy=multi-user.target
注意:ExecStart配置成自己的路径
配置描述:
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
重载系统服务:systemctl daemon-reload
2. 测试并加入开机自启
先关闭redis-server
systemctl stop redis.service
开启redis-server
systemctl start redis.service #如果服务是开启状态,使用此命令会启动失败。
3. 开启成功,将服务加入开机自启
systemctl enable redis.service #注意后面不能跟空格
4. reboot #重启
5. 查看服务运行状态:systemctl status redis.service
6. 全部命令
systemctl start redis.service #启动redis服务
systemctl enable redis.service #设置开机自启动
systemctl disable redis.service #停止开机自启动
systemctl status redis.service #查看服务当前状态
systemctl restart redis.service #重新启动服务
systemctl list-units --type=service #查看所有已启动的服务
7.测试代码
引入jar包:
代码:
public class JedisTest {@Testpublic void testJedisSingle() {//创建一个jedis的对象。Jedis jedis = new Jedis("172.20.10.7", 6379);//调用jedis对象的方法,方法名称和redis的命令一致。jedis.set("key1", "jedis test");String str = jedis.get("key1");System.out.println(str);//关闭jedis。jedis.close();}/*** 使用连接池*/@Testpublic void testJedisPool() {//创建jedis连接池JedisPool pool = new JedisPool("172.20.10.7", 6379);//从连接池中获得Jedis对象Jedis jedis = pool.getResource();String str = jedis.get("key1");System.out.println(str);//关闭jedis对象jedis.close();pool.close();} }
至此redis安装配置完毕。
Linux(Centos7)下redis5安装、部署、开机自启相关推荐
- CentOS-7 下 GitLab 安装部署教程
CentOS-7 下 GitLab 安装部署教程 前言 主要内容 GitLab 介绍 本篇环境信息 准备工作 配置清华大学镜像仓库 安装基础依赖 安装 Postfix 开放 ssh 以及 http 服 ...
- Hive入门教程<2> | hive在centos7下的安装部署
hive在centos7下的安装部署 前提 安装hive hadoop集群配置 hive基本操作 演示向hive中导入本地数据文件 前提 1.首先有自己的远程终端登录工具,我这里用的是mobaxter ...
- Linux 环境下如何安装部署 RocketMQ 教程
这里是 RocketMQ 系列的第一篇文章,工欲善其事,必先利其器,先不讲理论,也不具体介绍 RocketMQ,我们先把 RocketMQ先安装上,让你们实地感受下 RocketMQ 整个安装流程,安 ...
- CentOS7下RabbitMq安装和开机自启动配置
安装RabbitMq 由于rabbitmq是用erlang语言编写所以需要先安装erlang 1.在安装erlang之前先安装下依赖文件(这一步不要忘掉了, 不然后面./configure的时候要报错 ...
- linux CentOS7 下 Docker安装
Docker在CentOS安装介绍地址:https://docs.docker.com/install/linux/docker-ce/centos/ 使用root权限安装的. 1.安装所需的包. $ ...
- oracle静默创建实例linux,linux CentOS7下快速静默安装Oracle11GR2数据库并创建实例
linux CentOS7下快速静默安装Oracle11GR2数据库并创建实例 本文章适合已经熟悉安装过程,需要快速部署使用 初学者建议分步学习:https://edu.51cto.com/cours ...
- linux Centos7下安装python3及pip3
linux Centos7下安装python3及pip3 先去python官网下载python3安装包 执行命令: wget https://www.python.org/ftp/python/3.6 ...
- 在裸linux(没有GCC,没有RPM包管理器,没有make命令,没有系统软件管理器如apt-get,zypper,yast等的情况下)安装部署软件的方法
在裸linux(没有GCC,没有RPM包管理器,没有make命令,没有系统软件管理器如apt-get,zypper,yast等的情况下) 安装部署rpm软件的方法之一 当在被极度裁剪的linux系统中 ...
- centos72安装mysql配置密码_MySQL数据库之170419、Centos7下完美安装并配置mysql5.6
本文主要向大家介绍了MySQL数据库之170419.Centos7下完美安装并配置mysql5.6 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. linxu环境: centos ...
最新文章
- Apache Flink 零基础入门(十四)Flink 分布式缓存
- 变量的初始化与使用C语言程序注释,c - (为什么)使用未初始化的变量未定义行为?...
- 快给你的代码来点彩虹屁
- mac os 设置汇总
- tde数据库加密_在其他服务器上还原启用了透明数据加密(TDE)的数据库
- Win11未安装Defender怎么办?解决Win11未安装Defender的方法
- SAP中计划策略的后台配置框架分析解读
- 域名怎样实现自动跳转
- jenkins安装下载
- ​向死而生,浴火重生,创新能让AI芯片新生?
- ubuntu系统服务器网速测试方法
- Android权限申请
- 有线网络(网关等)和无线网络通信(蓝牙跳频通信等)讲解
- 简单的CTF web密码爆破
- 北方民族大学计算机复试题库,2016年北方民族大学计算机科学与工程学院信号与系统复试笔试仿真模拟题...
- 美国地质调查局DEM,需账户密码
- 前端-HTML-CSS字体设置-宋体、黑体、幼圆、隶书
- 【高阶知识】用户态协议栈之Epoll实现原理
- 2022 EdgeX中国挑战赛暨中关村国际前沿科技创新大赛EdgeX专题赛正式开幕
- 分享:一个Java GUI五子连珠(附码云源码)~~~
热门文章
- stm32单片机屏幕一直闪_STM32F407[3] 闪烁LED
- 为什么 Java 中 1000==1000 为 false ?
- IDEA中 30 秒生成 Spring Cloud Alibaba 工程
- Spring Boot ApplicationContextRunner 测试指南
- MySQL的大分页查询该如何优化?
- 最近项目重构的一些感想
- Logback中使用TurboFilter实现日志级别等内容的动态修改
- 邻域闭包matlab,闭包 - it610.com
- 苏州大学9月计算机考试试题,2016年9月计算机一级考试题及答案
- {TypeError}argument for rectangle() given by name (‘thickness‘) and position