Redis学习 - Tp6配置并使用redis图文详解 小皮面板(三)

news2024/9/24 11:30:10

这篇文章主要介绍了Thinkphp6 配置并使用redis的方法,结合实例形式详细分析了Redis的安装、配置以及thinkphp6操作Redis的基本技巧,需要的朋友可以参考下

 一、安装redis

ThinkPHP内置支持的缓存类型包括file、memcache、wincache、sqlite。ThinkPHP默认使用自带的采用think\Cache类。

可以在小皮的软件管理中安装redis(比较简单快捷),也可以先参考安装redis文章:

(1)下载php redis扩展.打开phpinfo 查看对应的信息

php添加redis扩展 根据以下链接查找符合php版本的扩展 注意是否为线性(nts-表示否)

redis:          http://windows.php.net/downloads/pecl/releases/redis/

igbinary:        http://windows.php.net/downloads/pecl/releases/igbinary/

下载完后将php_igbinary.dll  和 php_redis.dll 复制进php ext 文件下面 

(2)进入当前所使用的版本php目录下,找到php的配置文件php.ini,并配置如下参数
 

extension=php_redis.dll 

若不配置此项,可能报错:  不支持:redis

(3)保存,重启服务器

二、在thinkphp6中配置redis

进入config/cache.php 配置添加redis缓存

<?php
// +----------------------------------------------------------------------
// | 缓存设置
// +----------------------------------------------------------------------
return [
    // 默认缓存驱动
    'default' => env('cache.driver', 'file'),
    // 缓存连接方式配置
    'stores'  => [
        'file' => [
            // 驱动方式
            'type'       => 'File',
            // 缓存保存目录
            'path'       => '',
            // 缓存前缀
            'prefix'     => '',
            // 缓存有效期 0表示永久缓存
            'expire'     => 0,
            // 缓存标签前缀
            'tag_prefix' => 'tag:',
            // 序列化机制 例如 ['serialize', 'unserialize']
            'serialize'  => [],
        ],
        // 配置Reids
        'redis' => [
            'type' => 'redis',
            'host' => '127.0.0.1',
            'port' => '6379',
            'password' => '',
            'select' => '0',
            // 全局缓存有效期(0为永久有效)
            'expire' => 0,
            // 缓存前缀
            'prefix' => '',
            //默认缓存周期
            'timeout' => 3600,
        ],
    ],
];

三、在TP6框架中简单使用redis 

(1)在方法中使用 setget 

use think\cache\driver\Redis;    //需要使用到的类
use think\facade\Cache;
use think\facade\Config;
public function test()
{
    $redis = new Redis(Config::get('cache.stores.redis'));
    $redis->set('key','value1');
    echo $redis->get('key');
}

至此,一些基本的操作我们可以在:

\vendor\topthink\framework\src\think\cache\Driver.php 文件中找到redis的一些基本操作,但是不够

执行高级方法,需要使用句柄,如下:

(2)在方法中使用lpushrpushllenlrange等方法进行模拟压栈后查看(不要在意直接操作了栈底的位置,主要为了展示使用redis-list)

public function test()
    {
        $redis = Cache::store('redis')->handler();  //返回句柄对象,可执行其它高级方法
        $redis->lpush('arr','我是第一个入栈');//比作压栈的方式,从列表的左侧插入
        $redis->lpush('arr','我是第二个入栈');
        $redis->rpush('arr','我从栈底挤一挤');
        $redis->lpushx('arr','我应该最先被取出!'); //若arr是一个空列表,则什么都不做
        echo '取出前的长:'.$redis->llen('arr').'
';
        echo $redis->lpop('arr').'
';   //从最左边将值从栈顶取出之后删掉
        echo '取出后的长:'.$redis->llen('arr').'
';
        echo '整个列表查看:';
        dd($redis->lrange($redis->keys('arr')[0], 0 ,-1));//尽量使用var_dump(),此句后面的语句将不被执行,我只是为了好看
        $redis->del('arr'); //删除当前数据对象(string、list、hash..)
    }

运行结果:

四、报错信息

错误1

$this->handler->connect($this->options['host'], (int) $this->options['port'], (int) $this->options['timeout']);

解决办法:注意:一定要启动redis

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1019680.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在MySQL中使用VARCHAR字段进行日期筛选

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

VM ware中Linux连网

在公司时,想搭建一下docker,结果发现连不上网,那就自己动手操作一下 一、联网配置 1.1 ping 发现ping不通&#xff0c;说明虚拟机此时无法与外界网络互连&#xff0c;需要修改设置联网 1.2 ifconfig查看网络配置 注意第一行显示的是ens33还是ens32,后面配置会用到 1.3 获取ro…

详解API接口如何安全的传输数据

概述 API接口的安全传输是确保数据在API请求和响应之间的传输过程中不被截获、篡改或泄露的重要步骤。以下是一些用于增强API接口安全传输的常见技术和最佳实践&#xff1a; 使用HTTPS&#xff1a;使用HTTPS协议而不是HTTP&#xff0c;以确保数据在传输过程中的安全性。HTTPS使…

入户式防汛报警器是什么?

入户式防汛报警器是一款能够和雨量气象监测设备搭配的仪器&#xff0c;是集实时监测、信息显示、多时段声光报警功能的监测报警设备&#xff0c;支持不同级别的声光报警。 当监测要素超过设定的危险警戒值时设备发出报警声&#xff0c;提醒居民做好防汛&#xff08;转移&#…

无所不知的Mac效率神器 Alfred 4,一顶神器的小帽子!

肯定很多人在工作、学习或者写东西的时候&#xff0c;总想着怎样可以提高效率&#xff0c;节约时间。现在每天用得最多的电脑&#xff0c;怎样才能够让工作效率更高呢&#xff1f;带着这样的一个目的&#xff0c;使用了很多的小工具&#xff0c;有些可以简化工作&#xff0c;有…

JDK、JRE和JVM

JDK&#xff08; java 开发工具 &#xff09;&#xff1a; Java Develpment Kit&#xff0c;主要包含了工具程序与API、JRE JRE&#xff08;java运行时环境 &#xff09;&#xff1a; Java Runtime Environment&#xff0c;主要包含了JavaSE核心类库和Java虚拟机&#xff08;JV…

深入浅出学Verilog--数字电路基础内容

什么是数字系统&#xff1f; 数字系统是一种表示数值的方式。它是一组使我们能够计数、测量和计算数值量的规则、符号和过程。最常见的数字系统是使用数字 0-9 的十进制系统和仅使用 0 和 1 的二进制系统。其他数字系统包括八进制、十六进制和罗马数字。每个数字系统都有其独特…

URL 路径中包含百分号需要在 Swift 中的特殊处理

概览 在 Swift 中访问或处理 URL 路径常常遇见路径中包含百分号(%)的情况,此时我们有必要做特殊处理,否则 URL 的请求和解析可能会发生错误。 如果 URL 路径中包含用百分号前缀表示的特殊字符,在之后的路径解析中可能会出现意想不到的问题。 在本篇博文中,您将学到以下…

数字展厅如何设计与策划,一文了解搭建数字展厅要哪些步骤

引言&#xff1a; 数字展厅&#xff0c;作为一种现代化的宣传工具&#xff0c;已经在商业界崭露头角。我们将了解什么是数字展厅&#xff0c;然后探讨数字展厅设计的关键要素&#xff0c;接着讲述数字展厅策划的核心原则&#xff0c;最后详细介绍数字展厅的搭建过程。 一&…

C# OpenVino Yolov8 Cls 分类

效果 项目 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using OpenCvSharp;namespace OpenVino_Yolov8_Demo {public…

GMS地下水数值模拟及溶质(包含反应性溶质)运移模拟技术教程

详情点击公众号链接&#xff1a;GMS地下水数值模拟及溶质&#xff08;包含反应性溶质&#xff09;运移模拟技术教程 前言 GMS三维地质结构建模 GMS地下水流数值模拟 GMS溶质运移数值模拟与反应性溶质运移模 第一地下水数值模拟理论模块 1.1 地下水渗流运动方程 1.2 地下水数…

docker启动前端

docker启动前端 作为一个前端&#xff0c;代码写完&#xff0c;最后部署到服务器&#xff0c;这是一个必须要了解的过程&#xff0c;今天&#xff0c;我就在docker 中安装nginx 并部署做一个简单的笔记。 首先我在某云中有个云服务器&#xff0c;并登陆 前言 提示&#xff1…

【2023研电赛】西北赛区二等奖:单链全导联便携式心脏健康监测系统

本文为2023年第十八届中国研究生电子设计竞赛技术竞赛类西北赛区二等奖分享&#xff0c;参加极术社区的【有奖活动】分享2023研电赛作品扩大影响力&#xff0c;更有丰富电子礼品等你来领&#xff01;&#xff0c;分享2023研电赛作品扩大影响力&#xff0c;更有丰富电子礼品等你…

SQL性能优化

当你的数据里只有几千几万&#xff0c;那么 SQL 优化并不会发挥太大价值&#xff0c;但当你的数据里去到了几百上千万&#xff0c;SQL 优化的价值就体现出来了&#xff01;因此稍微有些经验的同学都知道&#xff0c;怎么让 MySQL 查询语句又快又好是一件很重要的事情。要让 SQL…

Opencv 4.5.5 linux contrib编译

https://github.com/opencv/opencv/releases https://github.com/opencv/opencv_contrib/releases/tag/4.7.0 版本要一模一样 下载4.5.5的源码 # 0. 将contrib文件夹移动到opencv文件夹中去 mkdir build cd build# 1. cmake生成配置文件&#xff0c;其中OPENCV_EXTRA_MODUL…

内网桌面如何让外网电脑连接?快解析内网映射域名设置

异地电脑远程桌面连接局域网服务器需求场景时&#xff0c;大多人会想到在目标本地的路由器上做端口映射设置。其实路由映射方法只适用于有公网IP的网络环境。当所在联网环境下是内部网络&#xff0c;内网环境下无公网IP或无公网IP权限时&#xff0c;路由映射方法就不生效了&…

【谢希尔 计算机网络】第2章 物理层

目录 通信基础 基本概念 两个公式lim 奈氏准则 香农定理 奈氏准则 VS 香农定理 编码与调制 ​编辑 物理层下面的传输媒体 导引型传输媒体 1. 双绞线 2. 同轴电缆 3. 光缆 非导引型传输媒体 无线电微波通信 卫星通信 无线局域网使用的 ISM 频段 信道复用技术 …

RS485总线浪涌解决方案!|深圳比创达EMC

在各种通讯方式当中&#xff0c;RS485总线是较为常见的一种&#xff0c;因其接口简单、系统运行稳定和通讯速率高等特点被广泛应用。但由于RS485总线一般传输距离较长&#xff0c;且经常暴露在外&#xff0c;所以非常容易受到电磁干扰&#xff0c;而浪涌干扰已经成为485通信使用…

【漏洞复现】广联达OA漏洞合集(信息泄露+SQL注入+文件上传)

文章目录 声明广联达OA存在信息泄露一、漏洞概述二、漏洞复现三、修复建议广联达Linkworks办公OA SQL注入漏洞后台文件上传漏洞一、产品简介二、漏洞概述三、复现环境四、修复建议 声明 请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工…

无涯教程-JavaScript - MOD函数

描述 MOD函数返回数字除以除数后的余数。输出与除数的符号相同。 语法 MOD (number, divisor)争论 Argument描述Required/OptionalNumberThe number for which you want to find the remainder.RequiredDivisorThe number by which you want to divide number.Required No…