CentOS 7安装/卸载Redis,配置service服务管理
Redis简介
Redis功能简介
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 相比于传统的关系型数据库,Redis的存储方式是key-value型的,说到key-value,我们肯定能想到JSON,但是JSON中value是不区分数据类型的,Redis支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询,能够更好的帮助我们进行数据的存储检索。此外Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。
Redis常见应用场景
- String:缓存、计数器、分布式锁等。
- List:链表、队列、微博关注人时间轴列表等。
- Hash:用户信息、Hash 表等。
- Set:去重、赞、踩、共同好友等。
- Zset:访问量排行榜、点击量排行榜等。
关于Redis的更多内容可以访问Redis的中文网站:http://www.redis.cn/
安装Redis
介绍完redis接下来就要开始安装,需要先下载redis,可以去官网下载通过ftp工具上传,也可以通过wget命令直接在CentOS中获取。wget 是一个从网络上自动下载文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP协议 下载,并可以使用 HTTP 代理。这里用wget去获取,使用wget需要先去安装这个工具。
yum install wget -y
然后在需要下载的目录执行wget命令获取redis,这里将文件保存在/usr/local/src目录
cd /usr/local/src
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
下载完成后使用tar命令解压缩
tar -zxvf redis-5.0..tar.gz
执行ls可以看到解压后的目录
[root@aliyun src]# ls
redis-5.0. redis-5.0..tar.gz
切换到redis解压后的目录,里面的文件可以重点看一下README.md文件,关于redis的介绍还有一些操作啊,这里我就不做展示。
[root@aliyun src]# cd redis-5.0.
[root@aliyun redis-5.0.]# ls
-RELEASENOTES COPYING Makefile redis.conf runtest-moduleapi src
BUGS deps MANIFESTO runtest runtest-sentinel tests
CONTRIBUTING INSTALL README.md runtest-cluster sentinel.conf utils
然后执行make命令,在这里介绍一下make,make 是一个命令工具,它解释 Makefile 中的指令(应该说是规则),在 Makefile文件中描述了整个工程所有文件的编译顺序、编译规则。常用的命令有:
make all:编译程序、库、文档等(等同于make) make install:安装已经编译好的程序。复制文件树中到文件到指定的位置 make unistall:卸载已经安装的程序。 make clean:删除由make命令产生的文件 make distclean:删除由./configure产生的文件 make check:测试刚刚编译的软件(某些程序可能不支持) make installcheck:检查安装的库和程序(某些程序可能不支持) make dist:重新打包成packname-version.tar.gz
提起编译由于Redis是由C编写的,如果本地环境没有安装过编译器,这里要先安装gcc编译器
yum install gcc -y
然后执行make命令,在这里可以通过设置PREFIX的值来指定安装目录,在这里将redis安装在/usr/local/redis/目录
make install PREFIX=/usr/local/redis
等待执行完,这时redis已经被安装到了指定目录,切换后安装后的目录
[root@aliyun bin]# cd /usr/local/redis/bin/
[root@aliyun bin]# ls
dump.rdb redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server
执行./redis-server,看到下面启动界面,redis已经成功安装,并且启动。
[root@aliyun bin]# ./redis-server
:C Nov ::14.990 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
:C Nov ::14.990 # Redis version=5.0., bits=, commit=, modified=, pid=, just started
:C Nov ::14.990 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 5.0. (/) bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port:
| `-._ `._ / _.-' | PID: 29470
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-' :M Nov ::14.991 # WARNING: The TCP backlog setting of cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of .
:M Nov ::14.991 # Server initialized
:M Nov ::14.991 # WARNING overcommit_memory is set to ! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
:M Nov ::14.991 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
:M Nov ::14.991 * DB loaded from disk: 0.000 seconds
:M Nov ::14.991 * Ready to accept connections
但是这样是有问题滴,如果当前窗口停止redis进程就被杀死,而且不方便于管理,接下来就把redis的管理服务化,需要下面两步操作。
- 配置REDIS_HOME
配置Redis的家目录后,可以在系统的任何地方使用redis-cli进入redis,在系统配置文件中配置环境变量,指定redis的安装目录,将以下代码配置在/etc/profile文件末尾处:
# REDIS
export REDIS_HOME=/usr/local/redis
export PATH=$PATH:$REDIS_HOME/bin
然后让系统重新解析配置文件,否则不生效,执行
source /etc/profile
- 生成redis服务化管理脚本
利用redis自带的工具,可以生成redis服务化管理脚本,切换至redis解压目录下的utils文件夹,cd /usr/local/src/redis-5.0.5
执行./install_server.sh,此处为了便于管理都是用redis的默认配置,redis根据端口创建实例,默认端口6379,如果想要创建多实例,可以再次执行./install_server.sh,指定不同的端口,redis会默认生成根据端口号命名的配置文件以及路径。
[root@aliyun utils]# ./install_server.sh
Welcome to the redis service installer
This script will help you easily set up a running redis server Please select the redis port for this instance: []
Selecting default:
Please select the redis config file name [/etc/redis/.conf]
Selected default - /etc/redis/.conf
Please select the redis log file name [/var/log/redis_6379.log]
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/]
Selected default - /var/lib/redis/
Please select the redis executable path [/usr/local/redis/bin/redis-server]
Selected config:
Port :
Config file : et/etc/redis/.conf
Log file : /var/log/redis_6379.log
Data dir : /var/lib/redis/
Executable : /usr/local/redis/bin/redis-server
Cli Executable : /usr/local/redis/bin/redis-cli
Is this ok? Then press ENTER to go on or Ctrl-C to abort.
点击回车,可以看到
Copied /tmp/.conf => /etc/init.d/redis_6379
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels !
Starting Redis server...
Installation successful!
redis默认帮将服务添加入开机启动项,将服务管理脚本命名为redis_6379,并且帮我们启动了服务,这时就可以通过执行以下命令来管理redis服务,如果指定多个端口创建实例,以此类推。
service redis_6379 status 查看端口号6379对应redis实例的运行状态
service redis_6379 stop 停止端口号6379对应redis实例服务
service redis_6379 start 启动端口号6379对应redis实例服务
如果想要通过windows上的客户端工具RedisDesktopManager来连接redis还需要修改以下配置,在执行./install_server.sh之前,先在解压后的目录中修改redis.conf配置文件,做如下更改:
bind 127.0..1 改为 #bind 127.0.0.1
daemonize no 改为 daemonize yes
protected-mode yes 改为 protected-mode no
如果没有更改,停止redis服务,修改配置,重新执行./install_server.sh即可。
Redis目录介绍
安装Redis时指定安装路径为/usr/local/redis,切换到/usr/local/redis/bin,bin下面一般为一些可执行命令,其中包含的文件有
[root@aliyun bin]# ls
dump.rdb redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server
文件描述
- redis-benchmark 性能测试工具,例如:redis-benchmark -n 10000 -c 10 , 10个客户端,并发10000个SETs/GETs查询
- dump.rdb 内存数据持久化文件
- redis-check-aof 更新日志检查
- redis-cli 客户端工具
- redis-server 服务器程序
卸载Redis
卸载redis其实很简单,只需以下操作
停止redis对应实例的服务
删除redis安装文件,此处目录为 rm -rf /usr/local/redis
删除redis服务脚本,以6379实例为例,rm-rf /etc/init.d/redis_6379
删除redis配置文件,以6379实例为例,rm -rf /etc/redis/6379.conf
删除/etc/profile中的REDIS_HOME
到此关于Redis的基本安装卸载就结束了。
CentOS 7安装/卸载Redis,配置service服务管理的更多相关文章
- centos 7安装jdk并封装service服务
一.概述 有一个Spring Cloud的jar包,文件名为:RDS.jar.必须要jdk1.8版本,需要部署在 Centos 7.5的服务器上面,最好能设置开机自启动! 二.安装jdk 关闭防火墙 ...
- centos 7 安装和基本配置
U盘安装centos 7 还是官方文档最准确. 下载centos https://docs.centos.org/en-US/centos/install-guide/downloading/ 制作安 ...
- CentOS 下 安装 nginx 执行配置命令 ./configure 报错
CentOS 下 安装 nginx 执行配置命令 ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx 时提示以下错误: checkin ...
- 3,linux-yum源配置-systemctl服务管理-文件权限
3,linux-yum源配置-systemctl服务管理-文件权限 小问答: 1.配置好阿里云yum源 生成yum缓存 下载nginx,并且启动nginx服务,使用浏览器访问10.0.0.10:80 ...
- CentOS下yum安装PHP,配置php-fpm服务
yum list installed | grep php 先删除已有的php版本 ,执行下面的命令删除php yum remove php-common 然后像安装那样问你是否继续的,输入yes即可 ...
- centos 8 安装和网络配置
centos 8 系统安装 系统安装步骤 启动服务器之后选择 Install CentOs Linux 8 选择语言然后下一步 配置 磁盘(Installation Destir) 这里选择默认配置 ...
- Redis详细讲解(Redis原理,Redis安装,Redis配置,Redis使用,Redis命令)
一.Redis介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发 ...
- CentOS 7安装后的配置
一.设置IP地址.网关DNS 说明:CentOS 7.x默认安装好之后是没有自动开启网络连接的,所 以需要我们自己配置. 在命令行输入#vi /etc/sysconfig/network-scrip ...
- 在centos中安装jenkins master为service
需要sudo或root权限. 翻译自: https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Red+Hat+dis ...
随机推荐
- 自定义 directive pagination
学习angular过程中,对directive 不是很了解,很有必要自己写一个,以便知道它的各方面的处理方式. directive 中 scope 与 controller 交互,有三种定义策略 &q ...
- Dart语言学习(十三) Dart Mixins 实现多继承
Mixins Mixins(混入功能)相当于多继承,也就是说可以继承多个类,使用with关键字来实现Mixins的功能. 那么多个类中有相同的方法时候,会被覆盖吗?覆盖的先后是什么? class A{ ...
- 计蒜客 青出于蓝胜于蓝(dfs序+树状数组)
题目描述 武当派一共有 n 人,门派内 n 人按照武功高低进行排名,武功最高的人排名第 1,次高的人排名第 2,... 武功最低的人排名 第 n.现在我们用武功的排名来给每个人标号,除了祖师爷,每个人 ...
- Preparing for the interview of FLAG and USDA
7,Dynamic Programming 1,Unique Paths A robot is located at the top-left corner of a m x n grid (mark ...
- teraterm中log中加入时间戳
步骤: 1.Setup->Additional settings->log->Timestamp(Local Time) 2.记录log.File->log(Teraterm. ...
- VUE学习笔记二
package.json不可以写注释!!!!!!!!!!初始化:npm init -y 有时候使用 npm i node-sass -D 装不上,这时候,就必须使用 cnpm i node-sass ...
- JavaScript高级特征之面向对象笔记
Javascript面向对象 函数 * Arguments对象: * Arguments对象是数组对象 * Arguments对象的length属性可以获取参数的个数 * 利用Arguments对象模 ...
- F: Horse Pro 马走棋盘 BFS
F: Horse Pro 豆豆也已经开始学着玩象棋了,现在豆豆已经搞清楚马的走法了,但是豆豆不能确定能否在 100 步以内从一个点到达另一个点(假设棋盘无限大). Input 第一行输入两个整数 x1 ...
- Netcat - 网络工具中的瑞士军刀
nc的一些小应用,慢更新.... 1.一个简单的聊天工具,Client1和Client2之间,Client1安装了nc,监听8888端口,Client2用telnet Client1的8888端口即可 ...
- 夯实Java基础(二十四)——Java8新特征之Optional类
1.概述 对于Java程序员来说,到目前为止出现次数最多的应该是NullpointException,它是导致Java应用程序失败的最常见原因.之前处理空指针我们必须先通过条件先去判断,然后再确认是否 ...