laravel reids 配置及使用

2024-03-26 07:12
文章标签 配置 使用 laravel reids

本文主要是介绍laravel reids 配置及使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先保证自己的reids是否启动成功,端口号是否正确

laravel 根目录composer require predis/predis安装predis 包

config/queue.php配置:

'redis' => ['driver' => 'redis','connection' => 'default',
//  'queue' => env('REDIS_QUEUE', 'default'),'queue' => '{default}','retry_after' => 90,'block_for' => null,'after_commit' => false,
]

confing/darabaes文件

'default' => ['url' => env('REDIS_URL'),'host' => env('REDIS_HOST', '127.0.0.1'),'password' => env('REDIS_PASSWORD', null),'port' => env('REDIS_PORT', '6379'),'database' => env('REDIS_DB', '0'),],

.env文件

QUEUE_CONNECTION=redisREDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

字符串类型

  public function testStringRedis(){// 字符串类型
//        $redis = Redis::connection();
//        $redis->set("string_name", "我是字符串类型的值");
//        dd($redis->get("string_name"));// 设置有效期,单位是秒(S)
//        $redis = Redis::connection();
//        $redis->setex('string_name', 50, '我是字符串类型的值s'); // 设置有效期为50秒的键值
//        dd($redis->get("string_name"));// 设置有效期,但是是毫秒(ms) 50000/1000 = 50
//        $redis = Redis::connection();
//        $redis->psetex('string_name', 50000, '我是字符串类型的值ms'); // 设置有效期为50秒的键值
//        dd($redis->get("string_name"));// 带条件的存储// Redis Setnx(SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值。
//        $redis = Redis::connection();
//        $redis->setnx('string_name', '我是字符串类型的值_setnx_1');
//        dd($redis->get("string_name"));// 删除
//        $redis = Redis::connection();
//        $redis->del('string_name');
//        dd($redis->get("string_name"));// 是否存在if (Redis::exists('string_name')) {$value = Redis::get("string_name");dd($value);} else {dd("从数据库里面取值");}}

hash类型

 // 测试redis的基础类型hashpublic function testHashRedis(){// hash
//        $redis = Redis::connection();
//        $redis->hset('test1', 'key1', 'v1');
//        $redis->hset('test1', 'key2', 'v2');
//        dd($redis->hget('test1', 'key1'));// 增加一个元素
//        Redis::hset("test", "key1", "v1_new");
//        dd(Redis::hget("test", "key3"));// 添加一个元素,判断//Redis::hsetnx("test", "key4", "v4");// hmset/hmget 存取多个元素到hash表
//        Redis::hmset('test', array('key5' => 'v5', 'key6' => 'v6'));
//        dd(Redis::hmget('test', array('key5', 'key6')));// 删除// Redis::hdel('test', 'key1');// 返回hash的长度
//        dd(Redis::hlen('test'));// 返回hash表中的所有key
//        dd(Redis::hkeys('test'));// 返回hash表中的所有value
//        dd(Redis::hvals('test'));// 获取 hash 中所有的key-value
//        dd(Redis::hgetall('test'));// 返回hash表中的指定key是否存在if (Redis::hexists('test', 'key1')) {dd(Redis::hget("test", "key1"));} else {dd("不存在,可以从数据库取");}dd(111);}

list类型

 // 测试redis的list类型public function testListRedis(){// 左添加 在左(头部)添加数据到list中  不存在时创建  返回值为添加元素后list的长度
//        Redis::lpush('list', 1);
//        Redis::lpush('list', 2);
//        Redis::lpush('list', 3);// 左添加 在左(头部)添加数据到list1中  不存在时不创建  返回0
//        Redis::lpushx('list1', 3);// 右添加, 在右(尾部)添加数据到list中  不存在时创建  返回值为添加元素后list的长度
//        Redis::rpush('list', 4);//在右(尾部)添加数据到list中  不存在时不创建  返回0
//        Redis::rpushx("list1", 3);// 从左(头部)取出list中数据 返回值为取出的数据 若不存在当前key的话,返回nul// 取出的是头部第一个元素,就删除了此元素
//        dd(Redis::lpop('list'));// 4.从右(尾部)取出list中数据 返回值为取出的数据// 取出的是尾部第一个元素,就删除了此元素
//        dd(Redis::rpop('list'));// 获取该key中所有数据 是个数组
//        dd(Redis::lrange('list', 0, -1));// 获取key为list的list集合中 索引为0的数据
//        dd(Redis::lindex('list', 0));// 将list集合中索引为0的value值改为3
//        Redis::lset("list", 0, 3);// 获取该list的长度
//        dd(Redis::llen('list'));// 只保留索引0到索引1的value值 其余的都删除
//        Redis::lpush('list', 4);
//        Redis::lpush('list', 5);
//        Redis::lpush('list', 6);
//        Redis::ltrim("list", 0, 1);// 删除list列表右边的最后一个元素将其追加到list1列表,list1不存在会创建  返回值为那个元素的value值Redis::rpoplpush('list','list1');dd(1111111);}

这篇关于laravel reids 配置及使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/847675

相关文章

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm

Java Optional的使用技巧与最佳实践

《JavaOptional的使用技巧与最佳实践》在Java中,Optional是用于优雅处理null的容器类,其核心目标是显式提醒开发者处理空值场景,避免NullPointerExce... 目录一、Optional 的核心用途二、使用技巧与最佳实践三、常见误区与反模式四、替代方案与扩展五、总结在 Java

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

Qt中QUndoView控件的具体使用

《Qt中QUndoView控件的具体使用》QUndoView是Qt框架中用于可视化显示QUndoStack内容的控件,本文主要介绍了Qt中QUndoView控件的具体使用,具有一定的参考价值,感兴趣的... 目录引言一、QUndoView 的用途二、工作原理三、 如何与 QUnDOStack 配合使用四、自

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华