Lavarel框架的redis的使用

本文详述了在Laravel框架下配置和使用Redis的过程,包括Redis的安装(Linux和Windows环境)、配置及启动,以及解决启动过程中遇到的问题。同时,介绍了Laravel中的Redis配置,包括默认服务器、集群设置以及客户端分片。此外,还分享了关于Redis的host和database参数的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:今天我要写一个秒杀功能 为了应对高并发 我决定使用redis队列技术 之前也用过redis队列 但由于时间过久 忘记了如何配置 也因为对Laravel框架的不熟悉 导致产生很多问题 下面就记录一下Lavarel框架下 redis的配置与使用

1:在生产环境安装Redis (一定要记得安装redis 我就是忘了这一步 导致怎么也不成功 … 是不是很无语…唉…控制不住的对自己翻白眼…)
首先 如果是Linux环境 查看是否安装redis 运行下service redis start 如果提示服务已经运行或服务启动,就表示已经安装Redis

windows环境下安装redis:下载安装包 下载地址:https://github.com/MSOpenTech/redis/releases。
打开cmd 进到redis下载的目录下
如输入 D:进入D盘
然后cd Redis 进到Redis目录后
运行redis-server redis.windows.conf
在这里插入图片描述 出现这种图案 表示安装运行成功
如果出现 redis启动出错Creating Server TCP listening socket 127.0.0.1:6379: bind: No error错误
解决方法:在命令行中运行 redis-cli.exe
127.0.0.1:6379>shutdown
not connected>exit
然后重新运行redis-server.exe redis.windows.conf,启动成功!

设置开机自动启动
在这里插入图片描述

Linux下安装(这部分我是直接复制别人的 因为我还没在Linux环境下安装过 粘出来是因为万一你们需要呢 如果有坑不许喷 趟过去就是成长 哈哈哈哈哈 )—(嗯我成长了我已经在Linux环境下安装成功了 )

1、下载源码,解压缩后编译源码。

$ wget http://download.redis.io/releases/redis-5.0.5.tar.gz
$ tar xzf redis-5.0.5.tar.gz
$ cd redis-5.0.5
$ make

2、编译完成后,安装

$ make FREFIX=/usr/local/redis install

其中 FREFIX=/usr/local/redis 为指定的安装路径

3 复制redis.conf文件到安装目录 /usr/local/redis
回到root根目录

$ cd ~  

进入redis

$ cd redis-5.0.5

复制

$ cp redis.conf /usr/local/redis

修改配置文件 redis后台启动

$ vim redis.conf
$ i  // 进入编辑模式

修改daemonize 参数为yes
保存并退出

Esc  :wq

Vim文件时 系统会自动备份出一份文件 ..swp,如果在编辑时未正常退出,该文件会一直存在 执行vim时会提示swap file "..swp" already exists! 这时我们需要手动删除该备份文件 rm . *.swp 删除后再执行vim

Vim编辑模式下 ,不可以用小键盘输入数字

启动redis

$ ./bin/redis-server ./redis.conf

启动时报错 出现了三个警告

在这里插入图片描述解决方法:
考虑到redis一般都是部署在服务器上作为服务存在的。所以,本文的解决方案都是持久性配置,不是临时配置。
第一个警告
将net.core.somaxconn = 1024添加到/etc/sysctl.conf中,然后执行sysctl -p生效配置。
第二个警告
将vm.overcommit_memory = 1添加到/etc/sysctl.conf中,然后执行sysctl -p生效配置。该配置为了redis重启时不丢失数据
第三个警告
将echo never > /sys/kernel/mm/transparent_hugepage/enabled添加到/etc/rc.local中,然后执行source /etc/rc.local生效配置。

然后启动redis

$ ./bin/redis-server ./redis.conf

查看是否启动成功:

$ ps -ef | grep -i redis

关闭redis:

$ ./bin/redis-cli shutdown

设置自动启动

  1. 设置redis.conf中daemonize为yes,确保守护进程开启
  2. 编写开机自启动脚本

系统开机启动时会去加载/etc/init.d/下面的脚本,通常而言每个脚本文件会自定义实现程序的启动;若想将新的程序开机自启动,只需在该目录下添加一个自定义启动程序的脚本,然后设置相应规则即可。
如在这里我们在/etc/init.d/下新建一个 redis 的脚本,开机启动时会去加载执行该脚本。

新建脚本

$ vim /etc/init.d/redis

将下面内容粘贴到文件中

#!/bin/sh  
#chkconfig: 2345 80 90  
# Simple Redis init.d script conceived to work on Linux systems  
# as it does use of the /proc filesystem.  
REDISPORT=6379                          #端口号,这是默认的,如果你修改了redis.config中的port ,则需要修改
REDISPATH=/usr/local/redis/bin                #redis-server启动脚本的所在目录,你如果忘了可以用find / -name redis-server 或whereis redis-server找到 
EXEC=${REDISPATH}/redis-server            
CLIEXEC=${REDISPATH}/redis-cli  
PIDFILE=/var/run/redis_${REDISPORT}.pid  #在redis.conf中可找到该路径
CONF="/usr/local/redis/redis.conf"           #redis.conf的位置, 如果不和redis-server在同一目录要修改成你的redis.conf所在目录
case "$1" in  
  start)  
    if [ -f $PIDFILE ]  
    then  
        echo "$PIDFILE exists, process is already running or crashed"  
    else  
        echo "Starting Redis server..."  
        $EXEC $CONF  
    fi  
    ;;  
  stop)  
    if [ ! -f $PIDFILE ]  
    then  
        echo "$PIDFILE does not exist, process is not running"  
    else  
        PID=$(cat $PIDFILE)  
        echo "Stopping ..."  
        $CLIEXEC -p $REDISPORT shutdown  
        while [ -x /proc/${PID} ]  
        do  
          echo "Waiting for Redis to shutdown ..."  
          sleep 1  
        done  
        echo "Redis stopped"  
    fi  
    ;;  
  *)  
    echo "Please use start or stop as first argument"  
    ;;  
esac 

退出并保存

Esc
:wq

设置可执行权限

$ chmod 777 /etc/init.d/redis

启动redis

$ /etc/init.d/redis start

查看是否启动成功:

$ ps -ef | grep -i redis

设置开机启动:

$ chkconfig redis on

关机重启测试:

$ reboot

predis/predis 包:** composer require predis/predis
一般larav

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值