Centos7下安装、配置Redis5.0.3

版权声明:著作权归作者所有,未经作者同意不得转载。 https://blog.csdn.net/qq_33417321/article/details/88924934

安装

1.官网下载Redis
Redis官网(有时候需要翻墙)
在这里插入图片描述
2.上传下载好的包到Centos上并解压(本人上传到了usr/local目录下)
在这里插入图片描述
3.进入redis-5.0.3目录里,执行编译命令

make

4.编译完成之后,将redis安装到指定目录

make PREFIX=/usr/local/redis install

5.此时/usr/local/redis下生成了一个bin目录
在这里插入图片描述
至此安装完成;

启动

1.启动方式一
前台启动,不推荐使用,进入/usr/local/redis/bin里执行启动命令(默认端口号:6379)

./redis-server

2.启动方式二
后台启动,推荐使用,将redis-5.0.3目录下的redis.conf文件复制到 /usr/local/redis/bin 下

cp redis.conf /usr/local/redis/bin/

修改redis.conf 设置为后台启动,将daemonize no改为daemonize yes即可(redis.conf文件内容较多,全局搜索:/daemonize 然后回车,再不断敲N即可)
在这里插入图片描述
启动Redis:进入/usr/local/redis/bin目录,执行下边命令

./redis-server /usr/local/redis/bin/redis.conf
由于redis.conf与redis-serve在同一级目录,所以执行下边命令即可
./redis-server redis.conf

关闭Redis:进入/usr/local/redis/bin目录,执行下边命令

./redis-cli shutdown

3.查看redis进程:

ps -ef | grep -i redis

看到如下信息:

root       1218      1  0 12:04 ?        00:00:00 /usr/local/redis/bin/redis-server 127.0.0.1:6379
root       1257   1186  0 12:11 pts/0    00:00:00 grep --color=auto -i redis

可以杀死Redis进程:

kill -9 1218

4.客户端操作
进入 /usr/local/redis/bin/目录:

./redis-cli

此时就可以设置值并取值了:
在这里插入图片描述

配置

1.允许远程连接Redis
redis 默认只允许自己的电脑(127.0.0.1)连接。如果想要其他电脑进行远程连接,将配置文件 redis.conf 中的 bind 127.0.0.1 注释掉(之前没注释,需要改为将其注释掉,默认只能连接本地)。
在这里插入图片描述
找到配置文件redis.conf中protected mode,默认protected mode yes,需要将其改为protected mode no
在这里插入图片描述
此时,远程就可以连接Redis了;

SpringBoot连接Redis

1、引入依赖

 <!--Redis依赖-->
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

2、配置文件里配置redis

spring:
  application:
    name: order-service
  redis:
    database: 0
    #远程redis地址
    host: 192.168.237.128
    #redis默认端口就是6379
    port: 6379
    timeout: 2000

3、项目里使用

@Autowired
private StringRedisTemplate redisTemplate;
...........................................
  private Object saveOrderFail(int userId, int productId, HttpServletRequest request){
        //监控报警 start
        String saveOrderKey="save-order";
        String sendValue = redisTemplate.opsForValue().get(saveOrderKey);
        String ip=request.getRemoteAddr();
        //注意,这里需要异步,不能同步,不然此处阻塞的话(发短息耗时的话)不会继续向下走
        new Thread(()->{
            if(StringUtils.isBlank(sendValue)){
                System.out.println("调用发短信接口去发送短信;用户下单失败,请马上处理;"+ip);
                //此时调用发短信接口去发送短信,略过

                /**
                 * 在Redis里放入数据,防止一直不停的发短信
                 * 间隔时间20秒(正常比这个数据久,这里为了测试先设置20秒)
                 */
                redisTemplate.opsForValue().set(saveOrderKey,"save-order-fail",20, TimeUnit.SECONDS);
            }else{
                System.out.println("已经发生过短信了,20秒内不要发了");
            }
        }).start();
        
        //监控报警 end
        Map<String,Object> msg=new HashMap<>();
        msg.put("code",-1);
        msg.put("msg","抢购人数太多,稍后重试");
        return msg;
    }

猜你喜欢

转载自blog.csdn.net/qq_33417321/article/details/88924934