Linux安装 NOSQL-Redis

NOSQL

NOSQL: 是指关系型数据库的统称 Redis就是其中最常用的一种NOSQL型数据库

NOSQL数据库与SQL数据库有什么区别?

  1. 是否遵守sql标准
  2. 不支持ACID(数据库四大特性)
  3. 远超关系型数据库的性能

什么情况下使用NOSQL:

  1. 对数据高并发的读写
  2. 海量数据的读写
  3. 需要高扩展的数据

也就是说,当数据量特别大,并且需要频繁操作的时候,关系型数据库有可能承受不住压力而奔溃,此时就可以采用性能更好的非关系型数据库

什么情况下不使用NOSQL

  1. 当需要使用事务的情况下
  2. 当我们需要结构化查询数据的时候

常见的NOSQL数据库:

  • Redis
  • MongoDB
  • HBase

Redis支持非常高的读写速度,达到一秒钟可以读几十万次,但是redis是一个key-value型数据库,跟我们的map集合一样,只能根据key来获取value,不能实现任何条件查询的操作,所以redis无法代替我么们的关系型数据库使用,但是由于他的读写性能非常高,所以用来当作关系型的缓存层使用(也是项目中常见的使用方式),消息队列,分布式管理事务,分布式注册中心

安装Redis

解压redis压缩包

[root@Test1 local]# tar -zxvf redis-5.0.3.tar.gz

因为 Redis 的底层依赖 c 所以 需要下载 gcc 依赖

[root@Test1 local]# yum install gcc

编译安装Redis

[root@Test1 redis-5.0.3]# make MALLOC=libc
[root@Test1 redis-5.0.3]# cd src && make install
Redis启动服务的三种方式
  1. 进入到src下 直接输入命令 ./redis-server

​ 当启动完成后 需要一直代开窗口 不能进行任何操作 非常不方便

  1. 后台启动

    后台启动模式默认是关闭的 所以需要修改配置文件 redis.conf将

    daemonize no改为yes

    然后启动的时候指定根据配置文件启动

    [root@Test1 redis-5.0.3]# src/redis-server redis.conf
    # 查看redis相关的端口 通过关闭端口来关闭服务
    [root@Test1 ~]# ps -aux | grep redis
    [root@Test1 redis-5.0.3]# kill 6994
    [root@Test1 redis-5.0.3]# ps -aux | grep redis
    
  2. 设置redis服务开机自启动*

    创建自启脚本

    # 创建脚本文件进入编辑
    [root@Test1 init.d]# vim /etc/init.d/redis
    ....redis具体内容见在下边.....
    
    
    # 给脚本添加权限
    [root@Test1 etc]# chmod 755 /etc/init.d/redis
    
    # 启动脚本运行开启
    [root@Test1 etc]# /etc/init.d/redis start
    Starting Redis server...
    7032:C 02 Jul 2021 17:11:43.790 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    7032:C 02 Jul 2021 17:11:43.790 # Redis version=5.0.3, bits=64, commit=00000000, modified=0, pid=7032, just started
    7032:C 02 Jul 2021 17:11:43.790 # Configuration loaded
    Redis is running...
    
    # 将启动脚本添加到服务列表
    [root@Test1 etc]# chkconfig --add /etc/init.d/redis
    # 设置开机启动
    [root@Test1 etc]# chkconfig redis on
    

    redis启动脚本内容

    #!/bin/sh
    # chkconfig:   2345 90 10
    # description:  Redis is a persistent key-value database
    PATH=/usr/local/bin:/sbin:/usr/bin:/bin
    
    
    REDISPORT=6379
    EXEC=/usr/local/bin/redis-server
    REDIS_CLI=/usr/local/bin/redis-cli
    
    
    PIDFILE=/var/run/redis.pid
    
    
    CONF="/usr/local/redis-5.0.3/redis.conf"
    
    
    case "$1" in
        start)
            if [ -f $PIDFILE ]
            then
                    echo "$PIDFILE exists, process is already running or crashed"
            else
                    echo "Starting Redis server..."
                    $EXEC $CONF
            fi
            if [ "$?"="0" ]
            then
                  echo "Redis is running..."
            fi
            ;;
        stop)
            if [ ! -f $PIDFILE ]
            then
                    echo "$PIDFILE does not exist, process is not running"
            else
                    PID=$(cat $PIDFILE)
                    echo "Stopping ..."
                    $REDIS_CLI -p $REDISPORT SHUTDOWN
                    while [ -x ${PIDFILE} ]
                   do
                        echo "Waiting for Redis to shutdown ..."
                        sleep 1
                    done
                    echo "Redis stopped"
            fi
            ;;
       restart|force-reload)
            ${0} stop
            ${0} start
            ;;
      *)
        echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
            exit 1
    esac
    
进入Redis linux 客户端
[root@Test1 src]# ./redis-cli
127.0.0.1:6379> set name 憨憨
OK
127.0.0.1:6379> get name
"\xe6\x86\xa8\xe6\x86\xa8"
127.0.0.1:6379> quit

出现乱码问题则需要执行下面命令即可

[root@Test1 redis-5.0.3]# ./src/redis-cli --raw -a 123456
127.0.0.1:6379> get name
憨憨

成功获取到name的值

使用redis客户端 Redis Desktop Manager连接redis配置

打开配置文件修改一下内容

[root@Test1 redis-5.0.3]# vim redis.conf
  • redis.conf文件 69行 的 bind 127.0.0.1 改成 0.0.0.0
  • redis.conf文件 88行 的 protected-mode yes 改成protected-mode no
  • redis.conf文件 136行 的daemonize no 更改为daemonize yes(开启redis后台运行)
  • redis.conf文件 507行requirepass 123456
  • 执行关闭防火墙命令 systemctl stop firewalld.service

然后用Redis Desktop Manager进行连接即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值