zoukankan      html  css  js  c++  java
  • Redis 简介、下载安装、启动|关闭

    Redis简介

    Redis是一个开源的key-value数据库,由C语言编写,对多种编程语言提供了支持。

    Redis的特点

    • 是内存数据库,数据存储在内存中,性能极高
    • 支持数据的持久化,可以将内存中的数据持久化到硬盘

    • 支持数据备份,redis存储的数据有2份,一份在内存中,一份持久化到硬盘,会自动同步到硬盘

    • 支持hash,list,set,zset(sorted set)等多种数据结构
    • 支持事务,可使用MULTI、EXEC指令将多个操作包起来作为一个事务

    • 特性丰富,提供发布/订阅、通知、 key 过期等特性

     

     redis常见的使用场景

    • 缓存数据库查询结果
    • 分布式系统的数据共享,比如session共享
    • 任务队列,比如存储秒杀、抢购、抢票等用户|订单队列
    • 数据过期处理,设置一个过期时间,到期自动删除该数据

     

     


    Linux下安装Redis

    1、安装gcc

    redis需要自己编译,redis是c语言写的,所以需要安装c语言的编译器gcc。

    先看下是否安装了gcc,没有安装就装上。

    yum list --installed | grep gcc
    yum install gcc

    2、/usr/local下新建目录redis,将redis下载至该目录,解压,删除压缩包

    mkdir /usr/local/redis
    cd /usr/local/redis
    wget http://download.redis.io/releases/redis-5.0.7.tar.gz
    tar -xzvf redis-5.0.7.tar.gz
    rm redis-5.0.7.tar.gz

    3、切换到解压目录下,编译

    cd redis-5.0.7
    make

    4、安装redis

    make install PREFIX=/usr/local/redis

    指定安装目录为/usr/local/redis 。安装完成后,redis/bin下有2个文件:redis-server、redis-cli。

    redis-server是redis的服务器,即redis数据库;redis-cli是redis客户端,用来操作redis数据库。

    解压的目录里的很多程序、配置文件后续还要使用,不能删除。


    把redis作为服务,开机自启

    redis下新建目录conf,把解压目录下的redis.conf复制到conf下;

    redis下新建目录logs,logs下新建文件redis.log;

    redis下新建目录data。

    运行解压目录下的utils/install_server.sh

    utils/install_server.sh

    根据提示,选择路径:

    其实只需指定配置文件、redis-server的路径即可,但默认的日志保存位置、redis-server数据保存位置东一个、西一个,不好记、用时不好找,

    我们自己新建文件|目录,统一放在redis下。

    检查一下设置,按Enter安装服务,如果路径写错了按Ctrl+C取消安装,从头开始即可。

    安装好以后,看到/etc/init.d下生成了一个redis_6379脚本文件,Linux启动时会自动执行init.d下的脚本。

    安装服务以后,默认自动开启redis-server,并且redis-server会开机自启。

    和tomcat、redis不一样,tomcat、redis直接在/etc/rc.d/rc.local中写上路径即可开机自启,redis要指定的路径很多,需要单独用脚本来启动(指定路径)。

    分析

    install_server.sh的执行过程其实就是:

    把utils/redis_init_script拷到/etc/init.d下,重命名为redis_$port,根据我们设置的端口号、路径来修改redis_init_script中对应的部分,

    然后把redis添加为服务、将redis服务设置为开机启动。

    redis_init_script是一个服务脚本,包含了启动、关闭redis-server的命令。

    我们看一下redis_init_script的部分代码:

    第一处是把redis添加为服务,第二处是把设置redis服务的开机启动(在/etc/rc.d下添加redis_$port脚本)。

    设置的服务名是redis_${REDIS_PORT},端口号一般是6379,所以服务名一般是redis_6379,

    看不顺眼的可以在安装服务前把里面的redis_${REDIS_PORT}全部替换为redis,这样服务名就是redis了。

    所以也可以自己把utils/redis_init_script拷到/etc/init.d下,重命名这个文件,修改里面的配置,

    然后chkconfig添加为服务、设置开启等级,

    至于开机启动服务,可以把/etc/init.d下的服务脚本拷到/etc/rc.d/init.d下,开机会自动执行/etc/rc.d/init.d下的脚本;

    或者在/etc/rc.d/rc.local中添加/etc/init.d下服务脚本的路径,开机会自动执行/etc/rc.d/rc.local中指定的脚本文件;

    或者直接使用 chkconfig | systemctl 将服务设置为开机自启,都可以。


      

    防火墙设置

    Linux防火墙要开放6379端口,外部机器才能连接redis服务器。

    firewall-cmd --zone=public --add-port=6379/tcp --permanent
    firewall-cmd --reload

    需要重启防火墙才会生效,不然你看到显示success开启成功,但外部机器依然连不上。


    指定Redis服务器的ip地址

    编辑redis.conf:

    vim conf/redis.conf

    /bind 搜索关键字bind,将ip修改为Linux的ip地址:

    注意是虚线下面的那个。

    默认Redis服务器的ip是127.0.0.1,只能在Linux本地才能连接上,打开了防火墙的6379端口,外部也连不上。

    需要修改为Linux的ip地址。

    重启redis才会生效:

    service redis_6379 restart

    redis服务器启动|关闭的3种方式

    1、前台启动

    直接运行redis/bin下的redis-server,启动后终端的这个标签页不能再使用,需要新建一个标签页来操作。

    Ctrl+C或直接关闭redis所在标签页,即可关闭redis服务器。

    不方便,不推荐使用。

    Ctrl+C可取消|停止Linux终端正在执行的命令,C即cancel。

    2、后台启动

    (1)修改redis.conf,将daemonize设置为yes

    vim conf/redis.conf

    一进去就是命令模式,/daemonize查找:

    默认是no,将它改为yes,设置为守护进程,这样启动redis服务器时会后台启动,前台没有启动界面。

     (2)启动redis服务器

    ./redis-server conf/redis.conf

    就是执行bin下面的redis-server,传入配置文件的路径。

    (3)关闭redis服务器

    ./redis-cli shutdown

    通过redis客户端,向redis服务器发送关闭命令。

    3、服务方式

    方式一:

    service redis_6379 start
    service redis_6379 stop

    方式二:

    systemctl start redis_6379
    systemctl stop redis_6379

    每个人设置的服务名可能不一致,我的是redis_6379。

    服务方式的好处:

    • 不必cd到指定目录
    • 我们安装服务时指定了配置文件的位置,所以也不必传入配置文件的路径

    操作Redis服务器的2个工具

    1、redis自带的客户端redis-cli

    ./redis-cli -h 192.168.1.7 -p 6379

    -h指定redis服务器地址,-p指定redis服务器使用的端口号。缺省-h时默认为127.0.0.1,缺省-p时默认为未6379。

    如果未修改redis.conf中绑定的ip,Linux上直接./redis-cli就可以连上,ip、port使用默认值即可;如果修改了redis.conf中绑定的ip,则用-h 127.0.0.1连不上,必须用绑定的ip才可以。

    输入exit或quit即可退出redis客户端。

    2、Redis Desktop Manager

    下载安装Redis Desktop Manager,这个软件是收费的,Windows、MacOS、Linux的版本都有。

    输入ip、端口号,redis服务器默认没有密码,不填验证。

    先点击“测试连接”看能不能连上,能连上才点确定。

    连接失败常见的原因:

    • 防火墙没打开6378端口,需重启防火墙才会生效
    • redis.conf没有绑定Linux的ip,需重启redis服务器才会生效

    相比redis自带的客户端,Redis Desktop Manager可以统计数据、查看使用情况:

    一般用redis-cli来操作数据库,用Redis Desktop Manager来查看、分析数据|使用情况。


    Redis官方只提供了Linux版,微软自己搞了个山寨的Windows版,可以在github上下载,但基本没公司在实际中用。

  • 相关阅读:
    openOPC与监控页面二
    Node教程——Gulp前端构建工具-教程
    回到顶部插件
    《软件测试52讲》——测试基础知识篇
    计算贝塞尔曲线上点坐标
    少年,不要滥用箭头函数啊
    JS属性defer
    leetcode-572-另一个树的子树
    leetcode-9.-回文数
    leetcode-300-最长上升子序列
  • 原文地址:https://www.cnblogs.com/chy18883701161/p/11071570.html
Copyright © 2011-2022 走看看