redis的auth配置与队列

一,redis配置:

在这里插入图片描述

1.第一种方式 (当前这种linux配置redis密码的方法是一种临时的,如果redis重启之后密码就会失效,)

(1)首先进入redis,如果没有开启redis则需要先开启:

 [root@VM_6_21_centos ~]#  redis-cli -p 6379
         127.0.0.1:6379> 

(2)查看当前redis有没有设置密码:

 127.0.0.1:6379> config get requirepass
           1) "requirepass"
           2) ""

(3)为以上显示说明没有密码,那么现在来设置密码:

127.0.0.1:6379> config set requirepass abcdefg
OK
127.0.0.1:6379> 

(4)再次查看当前redis就提示需要密码:

127.0.0.1:6379> config get requirepass
(error) NOAUTH Authentication required.
127.0.0.1:6379>
2.第二种方式 (永久方式)

需要永久配置密码的话就去redis.conf的配置文件中找到requirepass这个参数,如下配置:

修改redis.conf配置文件  

\# requirepass foobared
requirepass 123   指定密码123

保存后重启redis就可以了
3、启动Redis
启动redis服务:

  ./redis-server(默认启动)  

  ./redis-server redis.conf 或者 

​        /usr/local/bin/redis-server    /home/redis/redis.conf 或者 

​       redis-server /home/redis/redis.conf (通过参数配置文件启动<建议用这个方法安全>#####   查看Redis是否在运行:ps -ef |grep redis

#####   查看端口是否在监听状态:netstat -lntp | grep 6379

  使用Redis命令行(执行Redis操作命令):./redis-cli

  查看端口使用情况:netstat -nlt  (如图:我们已经正常启动Redis,端口6379)
  
关闭redis服务: 

     然后杀死改进程:kill -9 xxxx

    然后命令:netstat -nlt   看看是否还处于监听状态,不在 ==> 说明杀死。

    最后重启Redis:redis-server /home/redis/redis.conf

    再次查看是否重启成功:netstat -nlt

二,php+redis实现消息队列

redis链接(php版)
<?php
    $redis = new redis();
    $redis->connect('127.0.0.1',6379);
    $redis -> select('1');
    $redis->auth(''); 

入队:inqueue.php

<?php
    $redis = new redis();
    $redis->connect('127.0.0.1',6379);
    $redis -> select('1');
    $redis->auth(''); 
    $data = [a,b,c,d,e,f,g,h]; // 这里可以是get或post请求过来的数据
    $data = json_encode($data);
    $in = $redis->rpush('queue',$data); // rpush 入队
    if($in){   
        echo "入队成功";
    }

出队:outqueue.php

#!/usr/bin/php
<?php
    $redis = new redis();
    $redis->connect('127.0.0.1',6379);
    $redis -> select('1');
    $redis->auth(''); 
    $value = $redis->lpop('queue');  // lpop 出队
    $value = json_decode($value,true);

shell process.sh:定时调用outqueue.php脚本

#进行每分钟调用一次
* * * * * /usr/local/nginx/html/process.sh

#!/bin/bash
#file_name : process.sh
#author : xxx


/usr/local/nginx/html/outqueue.php

*如果每分钟调用一次频率不够,可以执行多次调用脚本,如:

#!/bin/bash
#file_name : process.sh
#author : xxx
php /usr/local/nginx/html/outqueue.php
php /usr/local/nginx/html/outqueue.php
php /usr/local/nginx/html/outqueue.php
php /usr/local/nginx/html/outqueue.php
php /usr/local/nginx/html/outqueue.php
php /usr/local/nginx/html/outqueue.php
php /usr/local/nginx/html/outqueue.php
php /usr/local/nginx/html/outqueue.php
php /usr/local/nginx/html/outqueue.php
php /usr/local/nginx/html/outqueue.php
php /usr/local/nginx/html/outqueue.php #这样就一分钟调用了多次了。

查看队列中的当前数据:

<?php
    $redis = new redis();
    $redis->connect('127.0.0.1',6379);
    $redis -> select('1');
    $redis->auth('');
    $list = $redis->lrange('queue',0,-1);  // lrange  返回列表中指定区间内的元素
    var_dump($list);
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值