当前位置: > CentOS > CentOS教程 >

Centos7下安装、配置Redis5.0.3

时间:2019-04-04 13:51来源:linux.it.net.cn 作者:IT
安装
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;
    }
 
 


(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容