本文实例讲述了ThinkPHP3.2框架操作Redis的方法。分享给大家供大家参考,具体如下:
原本感觉 Redis 应该像是作为数据库的一种被拿来操作的,可是实际上 thinkphp 3.2 是把 redis 作为缓存的一种方式来进行解析的,从 redis 文件被存放的位置就可以看出来:
ThinkPHP Library Think Cache Driver
是作为 Cache,缓存方式的一种被拿来使用的,可是经过我们前面的学习,我们发现 Redis 不光光能做这些。
还有一个发现是这样的,假设我在 thinkphp 的控制器中执行如下代码:
代码语言:javascript复制<?php
namespace HomeController;
use ThinkController;
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 中查看以下存储的结果:
接下来换种方式存储:
代码语言:javascript复制<?php
namespace HomeController;
use ThinkController;
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 一样给我封装好啊,直接拿来用多好。