Loading

【Redis】初识Redis

概述

  • Redis是什么?

    Redis(Remote Dictionary Server ),即远程字典服务 !

    • 是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
      image
    • redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
    • 免费和开源!是当下最热门的 NoSQL 技术之一!也被人们称之为结构化数据库!
  • Redis能干嘛?

    1. 内存存储、持久化,内存中是断电即失、所以说持久化很重要(rdb、aof)
    2. 效率高,可以用于高速缓存
    3. 发布订阅系统
    4. 地图信息分析
    5. 计时器、计数器(浏览量!)

Redis的基本了解

官方文档是如何介绍Redis的

  • 中文文档 点击跳转
    image
  • Redis-Key

    简单介绍一下Redis中队Key的操作命令。

    127.0.0.1:6379> ping  #查看当前连接是否正常,正常返回PONG
    PONG
    127.0.0.1:6379> clear  #清楚当前控制台(为了更好的看到下面输入的命令)
    127.0.0.1:6379> keys *  #查看当前库里所有的key
    1) "db"
    127.0.0.1:6379> FLUSHALL  #清空所有库的内容
    OK
    127.0.0.1:6379> keys * 
    (empty array)
    127.0.0.1:6379> set name dingdada  #添加一个key为‘name’ value为‘dingdada’的数据
    OK
    127.0.0.1:6379> get name  #查询key为‘name’的value值
    "dingdada"
    127.0.0.1:6379> keys *
    1) "name"
    127.0.0.1:6379> set name1 dingdada2
    OK
    127.0.0.1:6379> get name1
    "dingdada2"
    127.0.0.1:6379> keys *  #查看当前库里所有的key
    1) "name1"
    2) "name"
    127.0.0.1:6379> EXISTS name  #判断当前key是否存在
    (integer) 1
    127.0.0.1:6379> move name 1  #移除当前库1的key为‘name‘的数据
    (integer) 1
    127.0.0.1:6379> keys *
    1) "name1"
    127.0.0.1:6379> FLUSHALL  #再次清空所有库的内容
    OK
    
    ## 多加几条数据 下面测试设置key的过期时间
    127.0.0.1:6379> set name dingdada
    OK
    127.0.0.1:6379> set name1 dingdada1
    OK
    127.0.0.1:6379> set name2 dingdada2
    OK
    127.0.0.1:6379> EXPIRE name 15  #设置key为’name‘的数据过期时间为15秒 单位seconds
    (integer) 1
    127.0.0.1:6379> ttl name  #查看当前key为’name‘的剩余生命周期时间
    (integer) 13
    127.0.0.1:6379> ttl name
    (integer) 12
    127.0.0.1:6379> ttl name
    (integer) 11
    127.0.0.1:6379> ttl name
    (integer) 8
    127.0.0.1:6379> ttl name
    (integer) 6
    127.0.0.1:6379> ttl name
    (integer) 3
    127.0.0.1:6379> ttl name
    (integer) 2
    127.0.0.1:6379> ttl name
    (integer) 1
    127.0.0.1:6379> ttl name
    (integer) 0
    127.0.0.1:6379> ttl name  #如若返回-2,证明key已过期
    (integer) -2
    127.0.0.1:6379> get name    #再次查询即为空
    (nil)
    127.0.0.1:6379> type name1
    string
    127.0.0.1:6379>
    

安装Redis

以CentOS7.7版本为例

  • 下载安装包

    下载地址:点击跳转
    wget http://download.redis.io/releases/redis-6.2.9.tar.gz

    image

  • 创建下载目录

    一般我们都是将这些服务安装在指定文件夹下,在/opt目录下新建soft文件夹,再在/soft文件下建我们需要安装的服务名称文件夹,redis:如图:

    image

  • 解压redis安装包

    命令:tar -zxvf需要解压的包名

    image

    正常情况下解压后有19个文件,如若不对,请删除,重新解压:

    image

  • 安装基本环境gcc

    安装命令:yum install gcc-c++

    image

    等待其安装完成,输入gcc -v查看当前gcc的版本:

    image

  • 根据Redis的版本升级gcc的版本

    #第一步
    sudo yum install centos-release-scl
    #第二步
    sudo yum install devtoolset-7-gcc*
    #第三步
    scl enable devtoolset-7 bash
    
    中途遇到输入时不用管太多,直接yes即可。如下图所示:
    

    image

    全部执行完毕后,再次查看版本gcc -v

  • 解压的redis目录

    在我们解压的redis目录下执行命令:make,,出现以下显示即成功make下载!

    image

  • 安装文件

    再执行命令:make install,安装文件!

    image

  • 默认安装的路径

    /usr/local/bin

    • 进入该文件夹内,可以发现,有两个文件和我们再Windows下的文件一样,分别时启动(-server)和连接(-cli)。
      image
  • 将配置文件拷贝过来

    cp /opt/soft/redis/redis-6.0.10/redis.conf mtconfig/

    image

  • 修改配置文件

    redis默认不是后台启动的

    • daemonize yes :当值为yes时redis在后台运行。
    • bind 0.0.0.0:当值为0.0.0.0时redis将允许所以设备连接,默认值是127.0.0.1,只能本机连接。
    • requirepass lirenqi:配置redis的密码。
    • maxclients 100 :配置最多允许多少客户端连接redis。
    • port 6479:配置redis使用的端口号。
      image
  • 启动和连接Redis服务

    #启动redis服务
    redis-server mtconfig/redis.conf
    #连接redis服务
    redis-cli -p 6379
    

    image

  • 测试redis服务

    • 先测试set和get基本操作
      image
    • 再查看redis服务的进程:
      image
posted @ 2023-02-01 21:40  爱learn  阅读(14)  评论(0编辑  收藏  举报