php教程

超轻量级php框架startmvc

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

更新时间:2020-04-04 17:23:27 作者:startmvc
本文实例讲述了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 中查看以下存储的结果:

接下来换种方式存储:


<?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);
 }
}

再来查看缓存结果:

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

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

ThinkPHP3.2 操作Redis