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.5.tar.gz

  执行ls可以看到解压后的目录

ls
redis-5.0.5  redis-5.0.5.tar.gz

  切换到redis解压后的目录,里面的文件可以重点看一下README.md文件,关于redis的介绍还有一些操作啊,这里我就不做展示。

[root@aliyun src]# cd redis-5.0.5
[root@aliyun redis-5.0.5]# ls
00-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
29470:C 27 Nov 2019 08:59:14.990 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
29470:C 27 Nov 2019 08:59:14.990 # Redis version=5.0.5, bits=64, commit=00000000, modified=0, pid=29470, just started
29470:C 27 Nov 2019 08:59: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.5 (00000000/0) 64 bit.-`` .-```.  ```\/    _.,_ ''-._                                   (    '      ,       .-`  | `,    )     Running in standalone mode|`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379|    `-._   `._    /     _.-'    |     PID: 29470`-._    `-._  `-./  _.-'    _.-'                                   |`-._`-._    `-.__.-'    _.-'_.-'|                                  |    `-._`-._        _.-'_.-'    |           http://redis.io        `-._    `-._`-.__.-'_.-'    _.-'                                   |`-._`-._    `-.__.-'    _.-'_.-'|                                  |    `-._`-._        _.-'_.-'    |                                  `-._    `-._`-.__.-'_.-'    _.-'                                   `-._    `-.__.-'    _.-'                                       `-._        _.-'                                           `-.__.-'                                               29470:M 27 Nov 2019 08:59:14.991 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
29470:M 27 Nov 2019 08:59:14.991 # Server initialized
29470:M 27 Nov 2019 08:59:14.991 # WARNING overcommit_memory is set to 0! 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.
29470:M 27 Nov 2019 08:59: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.
29470:M 27 Nov 2019 08:59:14.991 * DB loaded from disk: 0.000 seconds
29470:M 27 Nov 2019 08:59: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 serverPlease select the redis port for this instance: [6379]
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf]
Selected default - /etc/redis/6379.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/6379]
Selected default - /var/lib/redis/6379
Please select the redis executable path [/usr/local/redis/bin/redis-server]
Selected config:
Port           : 6379
Config file    : et/etc/redis/6379.conf
Log file       : /var/log/redis_6379.log
Data dir       : /var/lib/redis/6379
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/6379.conf => /etc/init.d/redis_6379
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
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.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服务管理相关推荐

  1. Centos 6.4下 MySQL配置主从服务(集群)

    Centos 6.4下 MySQL配置主从服务(集群) 我们前面两篇文章都分别介绍了Mysql的安装及配置.备份及还原,今天我们继续前面的环境介绍一下Centos 6.4下MySQL配置主从实现数据同 ...

  2. CentOS rpm安装Nginx和配置

    CentOS rpm安装Nginx和配置 官方下载地址: http://nginx.org/en/download.html 介绍 Nginx("engine x")是一款由俄罗斯 ...

  3. vs.net c# 安装、注册windows service服务,判断服务是否存在,是否启动

    vs.net c# 安装.注册windows service服务,判断服务是否存在,是否启动 一.安装服务: private void InstallService(IDictionary state ...

  4. 在Yaf中使用Zf2的配置和服务管理器

    测试最新的ZF2.3框架,发现zf2性能比预想的低太多, 在笔记本上每秒竟然只能响应30个请求. 测试条件: I3 380M + 4G + Windows7 + iis7 + PHP5.4(fastc ...

  5. win11 安装Subversion与配置 svn服务端

    一.下载 服务器端程序版本 目前Subversion的最新版本是 1.9.0-alpha2,这是一个测试版.官方网站推荐使用的版本是1.8.9,原话是:The best available versi ...

  6. Centos yum 安装JDK及配置环境变量

    1 . 卸载系统自带的JDK LINUX系统一般自带JDK , 但是版本可能不如我们的意 , 所以安装JDK之前要先把之前的卸载掉 1.1 检查自带JDK及版本信息 java -version 1.2 ...

  7. CentOS 7安装使用bind9(域名解析服务)

    1.1安装bind9软件 ##1.安装软件 [root@jack7-118] yum install bind -y##2.配置bind主配置文件 [root@jack7-118]# cat /etc ...

  8. 成功安装mysql后,为何服务管理器里找不到MySQL服务名(解析篇)

    打开cmd 控制着面板,切换到mysql的bin目录下,然后输入几个命令就可以了. 解决办法 · 如下: 首先打开cmd,切换到你的 MySql安装目录 的MySql Server的bin目录下: 运 ...

  9. 音乐服务器 linux,在Ubuntu/Debian/CentOS上安装Koel以配置个人音乐流媒体服务器

    本文介绍安装和使用Koel在Ubuntu/Debian/CentOS/Fedora上配置个人音乐流媒体服务器.Koel是使用Vue和Laravel PHP Framework编写的开源.基于Web的简 ...

  10. CentOS下安装docker和配置镜像加速器

    一.centos7安装docker 1.更新驱动 yum install -y yum-utils device-mapper-persistent-data lvm2 2.添加下载源 yum-con ...

最新文章

  1. 鸿蒙系统啥时候发布新手机,鸿蒙系统新手机面世还有多远?明年3月发布的华为P40可能搭载...
  2. java 设置日期的格式_java时间格式大全
  3. python3.7怎么安装dlib_python3.7添加dlib模块的方法
  4. python 2022/1/2
  5. Python2/3 list set性能测试
  6. php歌声美化_PHP代码在线格式化美化工具
  7. myisam怎么读_耗时半年,我成功“逆袭”,拿下美团offer(刷面试题+读源码+项目准备)...
  8. #loj 3058 [HNOI2019] 白兔之舞
  9. MySQL:MySQL InnoDB引擎
  10. Java中HashMap原理
  11. python面向对象实例王者荣耀_python王者荣耀
  12. c语言方框透视原理,FPS游戏的方框透视+自瞄原理
  13. 阿里云网站备案-变更备案问题如何解决
  14. LookaHead优化器
  15. 720nopenwrt设置打印服务器_打印服务器的ip配置及共享设置
  16. javascript getDate()方法
  17. Qt 制作带农历的日历
  18. 宏碁公司再次遭遇入侵,160GB敏感数据泄露
  19. Win7环境下硬盘安装XP(无光驱/光盘安装XP)
  20. 基于JavaEE的智能化网吧服务系统的设计与实现毕业设计论文

热门文章

  1. 依图三变,“退群”AI四小龙
  2. 科罗拉多大学波尔得分校计算机科学,科罗拉多大学波尔得分校院系设置
  3. 德雷塞尔大学计算机科学专业,美国大学计算机科学专业排名如何
  4. SPSS基础操作(一):用幂指数型的权函数建立加权最小二乘回归方程
  5. 2020滑铁卢大学计算机科学学费,官宣!2020加拿大高校学费与涨幅~
  6. 电脑怎么抠图换背景?如何把白底图片变成透明?
  7. php 孙中岳_请问,看完孙仲岳的一周学会PHP接案了!
  8. Jenkins linux 操作系统一键部署多节点
  9. tplink怎样设置虚拟服务器,tplink怎么设置虚拟服务器
  10. HTML转PDF浅析