likes
comments
collection
share

初识Redis及环境搭建

作者站长头像
站长
· 阅读数 17

一、简介

Redis是NoSql数据库,默认有16个库,从0~15,初始是db0,数据都存储在内存中,支持持久化,其持久化的作用主要用作备份恢复。支持多种数据结构,除了key-value结构外,还支持list、hash、set、zset等等。

主要可以使用但不限于以下的场景:

  • 做关系型数据库的高速缓存
  • 分布式场景下做session共享
  • 排行榜,TopN等,利用zset有序集合
  • 计数器、秒杀,利用incr、decr原子性
  • 队列,list
  • 发布订阅,pub/sub

二、安装

本文将展示在centos 7.6安装Redis 6.2.6版本。

官方地址:redis.io/ , 我们在官网下载安装文件:

初识Redis及环境搭建

  • 将下载后的文件上传到服务器的/opt下

  • 安装C语言编译环境

    yum install centos-release-scl scl-utils-build
    
    yum install -y devtoolset-8-toolchain
    
    scl enable devtoolset-8 bash
    
  • 看下gcc的版本:

    [root@hecs-402944 opt]# gcc --version
    gcc (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3)
    Copyright (C) 2018 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
  • 解压上传到/opt下的redis-6.2.6.tar.gz

    tar -zxvf redis-6.2.6.tar.gz
    
  • 进入/opt/redis-6.2.6,并执行make编译

    cd redis-6.2.6
    
    make
    
  • isntall

    [root@hecs-402944 redis-6.2.6]# make install
    cd src && make install
    make[1]: 进入目录“/opt/redis-6.2.6/src”
      CC Makefile.dep
    
    Hint: It's a good idea to run 'make test' ;)
    
      INSTALL redis-server
      INSTALL redis-benchmark
      INSTALL redis-cli
    make[1]: 离开目录“/opt/redis-6.2.6/src”
    
  • 查看安装目录,默认目录是/usr/local/bin

    cd /usr/local/bin
    

    看到下面有这些和redis直接相关的内容:

    • redis-benchmark:性能测试工具

    • redis-check-aof:修复有问题的AOF文件

    • redis-check-dump:修复有问题的dump.rdb文件

    • redis-sentinel:Redis集群使用

    • redis-server:Redis服务器启动命令

    • redis-cli:客户端

  • 回到/opt/redis-6.2.6当中,拷贝文件redis.conf到我们自己创建的文件夹

    [root@hecs-402944 opt]# cd redis-6.2.6
    [root@hecs-402944 redis-6.2.6]# mkdir /opt/myredis
    [root@hecs-402944 redis-6.2.6]# cp redis.conf /opt/myredis/redis.conf
    
  • 修改拷贝出来的redis.conf

    vi /opt/myredis/redis.conf
    

    修改其中的daemonize nodaemonize yes,是redis能够后台启动

  • 设置密码

    在redis.conf当中,添加下面的配置,设置密码。

    requirepass 密码
    
  • 配置日志文件

    在redis.conf当中,添加下面配置:

    logfile "/opt/myredis/logs/redis.log"
    

    注意,启动报错的话需要手动创建下日志文件目录。

  • 启动redis

    redis-server /opt/myredis/redis.conf
    

    查看是否启动:

    [root@hecs-402944 redis-6.2.6]# ps -ef|grep redis
    root      4712     1  0 10:51 ?        00:00:00 redis-server 127.0.0.1:6379
    
  • 使用redis-cli,查看是否启动成功

    [root@hecs-402944 redis-6.2.6]# redis-cli 
    127.0.0.1:6379> ping
    PONG
    
  • 需要外网ip访问,请注意redis安装的服务器防火墙是否开始6379端口,云服务器请配置安全组策略。同时注意修改redis.conf,主要是下面两个点:

    • bind 127.0.0.1 -::1,此配置如果开启了需要注释掉,即可开放外网访问
    • protected-mode yes , 此配置需要修改为no,是保护本机访问模式的配置,开启的话仍然无法外网访问 重启redis,并查看:
     [root@hecs-402944 redis-6.2.6]# ps -ef|grep redis
     root      4712     1  0 10:51 ?        00:00:00 redis-server 127.0.0.1:6379
     root      8635 27628  0 10:54 pts/0    00:00:00 grep --color=auto redis
     [root@hecs-402944 redis-6.2.6]# vi /opt/myredis/redis.conf 
     [root@hecs-402944 redis-6.2.6]# kill -9 4712
     [root@hecs-402944 redis-6.2.6]# redis-server /opt/myredis/redis.conf 
     [root@hecs-402944 redis-6.2.6]# ps -ef|grep redis
     root     21392     1  0 11:05 ?        00:00:00 redis-server *:6379
     root     21485 27628  0 11:05 pts/0    00:00:00 grep --color=auto redis
    

    如上发现从127.0.0.1:6379变成了*:6379,此时已开启外网访问。

    使用工具测试连接成功:

    初识Redis及环境搭建

三、key的常用操作命令

redis有一系列常用的命令,无论你操作任何类型都是离不开的,我将它们列举在下面,方便查阅,同时可以通过下面两个网址查看redis命令:

www.runoob.com/redis/redis…

www.redis.cn/commands.ht…

  • 查看当前库所有key

    keys * 
    
  • 判断某个key是否存在,存在返回1,不存在返回0

    exists key
    
  • 查看你的key是什么类型,返回类型

    type key 
    
  • 删除指定的key数据

    del key       
    
  • 根据value选择非阻塞删除,仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作。

    unlink key   
    
  • 为给定的key设置过期时间, 如下10秒

    expire key 10
    
  • 查看还有多少秒过期,-1表示永不过期,-2表示已过期

    ttl key 
    
  • 切换数据库, db_index是0~15

    select db_index
    
  • 查看当前数据库的key的数量

    dbsize
    
  • 清空当前库

    flushdb
    
  • 清空全部库

    flushall