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

相关文章

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

ModelMapper基本使用和常见场景示例详解

《ModelMapper基本使用和常见场景示例详解》ModelMapper是Java对象映射库,支持自动映射、自定义规则、集合转换及高级配置(如匹配策略、转换器),可集成SpringBoot,减少样板... 目录1. 添加依赖2. 基本用法示例:简单对象映射3. 自定义映射规则4. 集合映射5. 高级配置匹

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

使用Python绘制3D堆叠条形图全解析

《使用Python绘制3D堆叠条形图全解析》在数据可视化的工具箱里,3D图表总能带来眼前一亮的效果,本文就来和大家聊聊如何使用Python实现绘制3D堆叠条形图,感兴趣的小伙伴可以了解下... 目录为什么选择 3D 堆叠条形图代码实现:从数据到 3D 世界的搭建核心代码逐行解析细节优化应用场景:3D 堆叠图

Springboot如何正确使用AOP问题

《Springboot如何正确使用AOP问题》:本文主要介绍Springboot如何正确使用AOP问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录​一、AOP概念二、切点表达式​execution表达式案例三、AOP通知四、springboot中使用AOP导出

Navicat数据表的数据添加,删除及使用sql完成数据的添加过程

《Navicat数据表的数据添加,删除及使用sql完成数据的添加过程》:本文主要介绍Navicat数据表的数据添加,删除及使用sql完成数据的添加过程,具有很好的参考价值,希望对大家有所帮助,如有... 目录Navicat数据表数据添加,删除及使用sql完成数据添加选中操作的表则出现如下界面,查看左下角从左