当前位置:首页 > PHP编程文章 > ThinkPHP3.2框架操作Redis的方法分析

ThinkPHP3.2框架操作Redis的方法实例

  • 发布时间:
  • 作者:码农之家原创
  • 点击:91

这篇文章主要知识点是关于ThinkPHP3.2、操作Redis、thinkphp5框架扩展redis类方法示例 的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下相关资源

ThinkPHP实战

《ThinkPHP实战》实战性很强,没有冗长的概念讲解,都是实际项目中使用的实用技术,比如验证码、文件上传、图像处理、调试、安全、缓存等。留言板、博客、论坛、微信公众平台开发4个实战项目案例,使读者尽快切入ThinkPHP企业级项目开发。

查看详情

ThinkPHP3.2框架操作Redis的方法分析

本文实例讲述了ThinkPHP3.2框架操作Redis的方法。分享给大家供大家参考,具体如下:

原本感觉 Redis 应该像是作为数据库的一种被拿来操作的,可是实际上 thinkphp 3.2 是把 redis 作为缓存的一种方式来进行解析的,从 redis 文件被存放的位置就可以看出来:

\ThinkPHP \Library \Think \Cache \Driver

是作为 Cache,缓存方式的一种被拿来使用的,可是经过我们前面的学习,我们发现 Redis 不光光能做这些。

还有一个发现是这样的,假设我在 thinkphp 的控制器中执行如下代码:

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
  public function index() {
   // 配置 redis 缓存
   $set = array(
   'type' =>'redis' ,
   'host'=>'127.0.0.1' ,
   'port'=>6379,
   );
   // 实例化
   $redis=S($set);
   // 存储数据
   $redis->name="hello world again";
   $redis->id=1;
  }
}

之后我们到 redis-cli.exe 中查看以下存储的结果:

ThinkPHP3.2框架操作Redis的方法分析

接下来换种方式存储:

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
  public function index() {
   // 配置 redis 缓存
   $set = array(
   'type' =>'redis' ,
   'host'=>'127.0.0.1' ,
   'port'=>6379,
   );
   // 设置要存储的数据
   $message = array(
   'name' =>'yang' ,
   'id'=>1
    );
   // 缓存
   S('message',$message,$set);
  }
}

再来查看缓存结果:

ThinkPHP3.2框架操作Redis的方法分析

从上述实验我们可以得出结论,thinkphp 官方给出的源码中只是把 redis 作为一个缓存的工具,如果我们需要实现更加丰富的操作的话,就需要自己封装类了。

看来又要去看 PHP 操作 Redis 了。官方不会像封装 MySql 一样给我封装好啊,直接拿来用多好。

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

thinkphp5框架扩展redis类方法示例

本文实例讲述了thinkphp5框架扩展redis类方法。分享给大家供大家参考,具体如下:

笔者在开发时发现,thinkphp5的自带redis类方法,只有简单的读取缓存、写入缓存的基本方法,远不能满足我们业务的需求。redis本身支持五种数据类型,string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)。redis的东西就不必再介绍了,接下来还是让我一起扩展thinkphp5的redis方法吧!

首先我们先找到缓存驱动类里的,handler()方法,这个方法是返回Redis类的实例化对象的。

thinkphp5框架扩展redis类方法示例

这就是实例化对象,包括了options配置项、handler资源句柄、tag标签。实际上这里的handler是new Redis()的对象实例。只要在外部拿到handler资源句柄,则可以对redis的操作进行扩展了。

thinkphp5框架扩展redis类方法示例

在cache类里新增一个getHandler方法。

thinkphp5框架扩展redis类方法示例

然后我们就可以在控制器调用了

thinkphp5框架扩展redis类方法示例

打印的就是这个redis对象了

thinkphp5框架扩展redis类方法示例

这里需要注意的是:

一个是调thinkphp5的redis的方法,就是这样用。

thinkphp5框架扩展redis类方法示例

一个是如果你要调用原生的redis方法

thinkphp5框架扩展redis类方法示例

基本的用法都讲完了。

接下来就愉快的开始扩展redis方法吧。

先找到这个类

thinkphp5框架扩展redis类方法示例

这个类里并没有list的相关操作方法,那我们就来扩展list的相关方法。

这里的话,我就举一个例子了。

thinkphp5框架扩展redis类方法示例

在控制器里去调用

thinkphp5框架扩展redis类方法示例

这样就写入成功了。

thinkphp5框架扩展redis类方法示例

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

以上就是本次给大家分享的关于PHP的全部知识点内容总结,大家还可以在下方相关文章里找到用Zend Framework框架实现Go、 thinkphp5框架实现的自定义、 php封装单文件路径上传到、 等php文章进一步学习,感谢大家的阅读和支持。

上一篇:PHP常用正则表达式总结

下一篇:Laravel框架运行出错提示“RuntimeException No application encryption key has been specified”解决方案

展开 +

收起 -

相关内容
跟兄弟连学PHP

本书是畅销书《细说PHP(第2版)》升级版,以实用为设计目标,包含PHP开发最主流的各项技术,对每一个知识点都进行了深入详细的讲解,并附有大量的实例代码,图文并茂,系统地介绍了PHP的相关技术及其在实际Web开发中的应用

查看详情
高性能PHP7

《高性能PHP 7》通俗易懂且图文并茂,实践案例丰富,相信一定能吸引大家阅读。全书目标清晰,始终围绕着如何使用PHP及周边技术来优化性能这一主题,能够为许多工程师解决实际问题。

查看详情
PHP、MySQL与JavaScript学习手册

本书有借助面向对象的编程基础,深入学习PHP。研究MySQL,从数据库结构到复杂查询。掌握JavaScript语言,以及带有jQuery的增强功能。调用Ajax进行后台浏览器/服务器通信等,欢迎免费下载

查看详情
21天学通PHP

《21天学通PHP》的特点是概念清楚,有的穿插类比的方式或加入相关插图进行辅助讲解,使读者能够更加直观地理解和掌握PHP的各个知识点。本书适合学习PHP技术的初学者,也可作为大、中院校师生和培训班的教材。

查看详情
PHP+MySQL动态网站开发从入门到精通

《PHP+MySQL动态网站开发从入门到精通》本书循序渐进地介绍了PHP 7 MySQL 5.7开发动态网站的主要知识和技能,提供案例、课件、命令速查手册,让你看得懂、学得会、做得出,教你快速成为网站应用开发高手。

查看详情
PHP从入门到精通

《php从入门到精通(第4版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用PHP进行网络开发应该掌握的各方面技术。《php从入门到精通(第4版)》共分4篇25章,

查看详情
学习笔记
网友NO.844968

thinkPHP框架通过Redis实现增删改查操作的方法详解

本文实例讲述了thinkPHP框架通过Redis实现增删改查操作的方法。分享给大家供大家参考,具体如下: 一、概述 Redis是一个NoSQL数据库,由于其数据类型的差异,所以要在MVC框架中实现CURD操作,比较繁锁。事实上在ThinkPHP框架中,只能实现简单的缓存应用。而不像MongoDB那样能够实现常见数据库的CURD操作。本文章将通过扩展的方式,实现Redis的CURD操作,这样我们就可以像操作普通的Mysql数据库那样实现Redis的编程了。 二、实现过程 接下为将以ThinkPHP作为MVC开发框架,详细介绍Redis的CURD操作。需要说明的是,在ThinkPHP中本身并不支持Redis开发环境,只支持使用Redis开发简单的数据缓存功能。所以我们必须要通过扩展功能,实现Redis的编程支持。为了方便读者学习,笔者临时开发了相应的模块扩展及数据库扩展。 解压下载后的压缩包,将得到DbRedis.class.php文件及……

网友NO.953505

thinkphp5框架扩展redis类方法示例

本文实例讲述了thinkphp5框架扩展redis类方法。分享给大家供大家参考,具体如下: 笔者在开发时发现,thinkphp5的自带redis类方法,只有简单的读取缓存、写入缓存的基本方法,远不能满足我们业务的需求。redis本身支持五种数据类型,string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)。redis的东西就不必再介绍了,接下来还是让我一起扩展thinkphp5的redis方法吧! 首先我们先找到缓存驱动类里的, handler() 方法,这个方法是返回Redis类的实例化对象的。 这就是实例化对象,包括了options配置项、handler资源句柄、tag标签。实际上这里的handler是 new Redis() 的对象实例。只要在外部拿到handler资源句柄,则可以对redis的操作进行扩展了。 在cache类里新增一个getHandler方法。 然后我们就可以在控制器调用了 打印的就是这个redis对象了 这里需要注意的是:……

网友NO.176782

详解thinkphp+redis+队列的实现代码

1,安装Redis,根据自己的PHP版本安装对应的redis扩展(此步骤简单的描述一下) 1.1,安装 php_igbinary.dll,php_redis.dll扩展此处需要注意你的php版本如图: 1.2,php.ini文件新增 extension=php_igbinary.dll;extension=php_redis.dll两处扩展 ok此处已经完成第一步redis环境搭建完成看看phpinfo 项目中实际使用redis 2.1,第一步配置redis参数如下,redis安装的默认端口为6379: ?php/* 数据库配置 */return array( 'DATA_CACHE_PREFIX' = 'Redis_',//缓存前缀 'DATA_CACHE_TYPE'='Redis',//默认动态缓存为Redis 'DATA_CACHE_TIMEOUT' = false, 'REDIS_RW_SEPARATE' = true, //Redis读写分离 true 开启 'REDIS_HOST'='127.0.0.1', //redis服务器ip,多台用逗号隔开;读写分离开启时,第一台负责写,其它[随机]负责读; 'REDIS_PORT'='6379',//端口号 'REDIS_TIMEOUT'='300',//超时时间 'REDIS_PERSISTENT'=false,//是否长连接 false=短连接 'REDIS_AUTH'='',//AUTH认证密码 );? 2……

<
1
>

Copyright 2018-2020 xz577.com 码农之家

本站所有电子书资源不再提供下载地址,只分享来路

免责声明:网站所有作品均由会员网上搜集共同更新,仅供读者预览及学习交流使用,下载后请24小时内删除

版权投诉 / 书籍推广 / 赞助:QQ:520161757