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;
    }
相關文章
相關標籤/搜索