centos7中redis安装配置

1.官网下载对应版本,本例以5.0.5为例redis

2.tar -zxvf xxxxx 并mv到安装目录spring

3.进入redis-5.0.5目录下,执行编译命令app

make

4.编译完成后,经redis安装到指定目录下异步

make PREFIX=/usr/local/redis install

5.安装完成后进入redis目录下,会发现有一个bin目录spring-boot

6.启动测试

方式一,进入/usr/local/redis/bin里执行启动命令(默认端口为:6379)spa

方式二,后台启动,将redis-5.0.5目录下的redis.conf文件复制到/usr/local/redis/bin下code

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

修改redis.conf设置为后台启动,将daemonize no改成daemonize yes便可server

./redis-server /usr/local/redis/bin/redis.conf
因为redis.conf与redis-serve在同一级目录,因此执行下边命令便可
./redis-server redis.conf

7.关闭redis,进入/usr/local/redis/bin目录下,执行命令blog

./redis-cli shutdown

查看redis进程命令

ps -ef | grep -i redis

8.客户端操做

进入/usr/local/redis/bin目录下,执行命令

./redis-cli

而后就能够设置并取值了

9.高级配置

①容许远程链接redis,redis默认只容许链接Localhost,若须要其余机器链接,须要进行配置远程链接,将配置文件redis.conf中的bind 127.0.0.1注释掉,

# bind 127.0.0.1

找到配置文件redis.conf中protected mode,默认protected mode yes,须要将其改成protected mode no

protected mode no

远程链接配置完成,记得保存配置哈。

SpringBoot链接redis

②添加依赖

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

②配置文件配置redis

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

③简单应用

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;
    }
相关文章
相关标签/搜索