• 【Redis】Redis开篇与如何安装单机版Redis,这次我会了!!


    写在前面

    很早之前,就有不少小伙伴微信留言说:冰河,你能不能写一个Redis专栏啊,我最近在学习Redis,看书看不下去,学习视频又觉得视频太长了,还是看你的文章比较给力!哈哈,原来我写的文章能够让小伙伴们有这么强的动力学习啊!终于安排到写【Redis专题】了。今天是【Redis专题】的开篇,写些什么呢?先简单的介绍下Redis并教大家如何在单机环境中安装Redis吧,也算是对【Redis专题】的开篇吧!

    如果文章对你有所帮助,请不要吝惜你的点赞、在看、留言和转发,你的支持是我持续创作的最大动力!

    Redis介绍

    学习一项新技术和一个新的框架之前,大部分的套路都是先对这项技术和框架做一个简单的介绍。这次,我也随波逐流一次吧,对Redis做一个整体的介绍。

    基于键值对的存储系统:字典形式。

    五种数据结构:字符串(String),Hash(字典),列表(List),集合(Set),有序集合(Sorted Set)。

    Redis大部分时间用来做缓存,因为速度快(内存数据库,单线程,单进程,Redis 6.0支持多线程,后面我们会详细讲Redis 6.0的新特性 )。

    Redis的使用场景

    以下使用场景也是5大数据类型中的一种:

    • BitMaps位图:布隆过滤器 本质是字符串
    • HyperLogLog:超小内存唯一值计数,12kb HyperLogLog 本质是 字符串
    • GEO:地理信息定位 本质是有序集合

    主从复制:主服务器和从服务器,Redis中的数据可以从主服务器同步到从服务器上。

    高可用和分布式:

    • 2.8版本以后使用redis-sentinel支持高可用(做哨兵)
    • 3.0版本以后支持分布式

    Redis的安装和启动

    这里,我们在CentOS服务器上安装Redis 5.0.7版本。

    1.下载安装Redis

    #下载
    wget http://download.redis.io/releases/redis-5.0.7.tar.gz
    #解压
    tar -zxvf redis-5.0.7.tar.gz
    #建立软连接(生成一个redis文件夹)
    ln -s redis-5.0.7 redis
    cd redis
    make && make install
    

    我们可以在Redis的src目录下看到如下命令。这里,我也对命令的作用进行了简单的说明

    #redis-server--->redis服务器
    #redis-cli---》redis命令行客户端
    #redis-benchmark---》redis性能测试工具
    #redis-check-aof--->aof文件修复工具
    #redis-check-dump---》rdb文件检查工具
    #redis-sentinel---》sentinel服务器,哨兵
    

    值得说明的是:Redis作者对windows维护不好,window自己有安装包。

    2.三种启动Redis服务的方式

    (1)最简启动法

    Redis中最简单的启动方法就是在命令行中直接输入如下命令。

    redis-server  #只要运行这一条命令服务端就启动了
    

    启动效果如下图所示。

    可以通过如下几种命令来查看Redis的运行情况。

    ps -ef|grep redis  #查看进程
    netstat -antpl|grep redis #查看端口
    redis-cli -h ip -p port ping #命令查看
    

    (2)动态参数启动法

    这里,我们以动态增加Redis的启动端口为例,比如我们将Redis启动后监听的端口设置为6379,如下所示。

    #动态参数启动
    redis-serve --port 6379 #启动,监听6379端口    默认对应的端口号是6379
    

    这里,我们在Redis启动时,设置了动态端口。当然,我们还可以在Redis启动时,设置其他的动态参数,在【Redis专题】后续的文章中,我们会详细说明Redis的动态参数。

    3.配置文件启动法(最常用的启动方式)

    Redis启动之后,可以通过redis-cli连接,在服务器命令行输入如下命令可以查询到默认的所有配置。

    config get * 
    

    配置文件中一些常用的配置参数如下所示。

    daemonize --》是否是守护进程启动(no|yes)
    port ---》端口号
    bind ---》绑定的主机名或IP地址
    logfile --》redis系统日志
    dir --》redis工作目录
    protected-mode --》是否允许外界访问
    

    例如,我们创建一个redis-6379.conf配置文件,文件的内容如下所示。

    daemonize yes      #是否以后台形式运行
    port 6379          #绑定端口号
    bind 0.0.0.0       #设置地址
    protected-mode no    #设置允许外界访问
    dir "/data/redis/data"        #工作目录
    logfile "./redis-6379.log"    #日志位置
    

    然后,我们可以在服务器的命令行使用如下命令指定Redis的配置文件来启动Redis服务。

    redis-server redis-6379.conf
    

    总结三种启动Redis的方式

    这里,我们还是对Redis的三种启动方式做一个简单的总结:

    • 直接命令行:redis-server
    • 动态参数方式:redis-server --port 6379 #这里是添加端口参数
    • 配置文件方式:redis-server 启动配置文件名

    3.客户端连接方式

    (1)最简连接法

    如果Redis服务器和Redis客户端在同一台服务器上,并且Redis服务器使用的是默认端口6379,则可以使用最简连接法。此时,只需要在服务器命令行输入如下命令即可。

    redis-cli
    

    (2)指定IP和端口连接

    无论Redis服务器和Redis客户端是否在同一台服务器,也不管是否修改过Redis的端口号,都可以使用指定IP和端口的方式来连接Redis服务。这种方式可以使用类似如下命令的形式连接Redis服务端。

    redis-cli -h 127.0.0.1 -p 6379    #加上ip地址或者端口号
    

    (3)使用可视化工具连接Redis

    除了上述使用redis-cli连接Redis的方式,还可以使用可视化工具来连接Redis。例如,我们可以使用RedisDesktopManager这个可视化工具来连接Redis。如下所示。

    关闭后台Redis方法

    当我们不需要Redis的时候,就可以关闭后台运行的Redis服务,我们可以通过如下命令来关闭后台运行的Redis服务。

    (1)查看运行的Redis进程号

    使用如下命令查看运行的Redis进程号。

    ps -ef | grep redis-server | grep 6379
    

    或者

    ps -ef | grep redis-server
    

    或者

    ps -ef |grep redis
    

    (2)杀掉查询到的进程号

    kill Redis进程号
    

    命令脚本化

    当然,上述安装Redis、启动Redis、连接Redis和关闭Redis的命令都可以写成一个脚本文件,我们只需要运行脚本文件即可自动化安装Redis、启动Redis、连接Redis和关闭Redis。这里,如何编写脚本就留给小伙伴们自行思考吧,大家如果有什么问题可以在文末留言!!

    重磅福利

    关注「 冰河技术 」微信公众号,后台回复 “设计模式” 关键字领取《深入浅出Java 23种设计模式》PDF文档。回复“Java8”关键字领取《Java8新特性教程》PDF文档。回复“限流”关键字获取《亿级流量下的分布式限流解决方案》PDF文档,三本PDF均是由冰河原创并整理的超硬核教程,面试必备!!

    好了,今天就聊到这儿吧!别忘了点个赞,给个在看和转发,让更多的人看到,一起学习,一起进步!!

    写在最后

    如果你觉得冰河写的还不错,请微信搜索并关注「 冰河技术 」微信公众号,跟冰河学习高并发、分布式、微服务、大数据、互联网和云原生技术,「 冰河技术 」微信公众号更新了大量技术专题,每一篇技术文章干货满满!不少读者已经通过阅读「 冰河技术 」微信公众号文章,吊打面试官,成功跳槽到大厂;也有不少读者实现了技术上的飞跃,成为公司的技术骨干!如果你也想像他们一样提升自己的能力,实现技术能力的飞跃,进大厂,升职加薪,那就关注「 冰河技术 」微信公众号吧,每天更新超硬核技术干货,让你对如何提升技术能力不再迷茫!

  • 相关阅读:
    EFI下WIN8.1和Ubuntu的双系统安装
    硬盘损坏,全盘数据没了,杯具
    GEC2440的RTC时钟
    纠正一下apache2服务器的搭建
    qt和html的比较
    dump做个备份,发个随笔记录下
    忙了1天的qte-arm环境的搭建
    内核版本不同导致无法加载驱动
    wayne生产环境部署(360的容器发布平台-开源)
    openstack swift curl 常用操作
  • 原文地址:https://www.cnblogs.com/binghe001/p/13471894.html
Copyright © 2020-2023  润新知