ThinkPHP5框架如何扩展Redis类方法实现长尾词查询?
- 内容介绍
- 文章标签
- 相关推荐
本文共计729个文字,预计阅读时间需要3分钟。
本示例讲述了ThinkPHP5框架扩展Redis类方法。分享给广大开发者参考,具体如下:
开发者在开发过程中发现,ThinkPHP5自带的Redis类方法仅有简单的读取、写入缓存的基本功能,远不能满足需求。因此,需要扩展Redis类方法以增强其功能。
以下是扩展Redis类方法的示例代码:
php
use think\facade\Cache;
class Redis{ protected $prefix='';
public function __construct($prefix='') { $this->prefix=$prefix; }
/** * 设置缓存 * @param string $key 缓存键 * @param mixed $value 缓存值 * @param int $expire 过期时间 * @return bool */ public function set($key, $value, $expire=0) { $key=$this->prefix . $key; return Cache::set($key, $value, $expire); }
/** * 获取缓存 * @param string $key 缓存键 * @return mixed */ public function get($key) { $key=$this->prefix . $key; return Cache::get($key); }
/** * 删除缓存 * @param string $key 缓存键 * @return bool */ public function delete($key) { $key=$this->prefix . $key; return Cache::delete($key); }
// ... 其他Redis操作方法}
使用方法:
phpuse app\common\library\Redis;
// 创建Redis对象,设置前缀$redis=new Redis('prefix_');
// 设置缓存$redis->set('test', 'hello world');
// 获取缓存$value=$redis->get('test');
// 删除缓存$redis->delete('test');
通过以上扩展,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对象了
这里需要注意的是:
一个是调thinkphp5的redis的方法,就是这样用。
一个是如果你要调用原生的redis方法
基本的用法都讲完了。
接下来就愉快的开始扩展redis方法吧。
先找到这个类
这个类里并没有list的相关操作方法,那我们就来扩展list的相关方法。
这里的话,我就举一个例子了。
在控制器里去调用
这样就写入成功了。
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
本文共计729个文字,预计阅读时间需要3分钟。
本示例讲述了ThinkPHP5框架扩展Redis类方法。分享给广大开发者参考,具体如下:
开发者在开发过程中发现,ThinkPHP5自带的Redis类方法仅有简单的读取、写入缓存的基本功能,远不能满足需求。因此,需要扩展Redis类方法以增强其功能。
以下是扩展Redis类方法的示例代码:
php
use think\facade\Cache;
class Redis{ protected $prefix='';
public function __construct($prefix='') { $this->prefix=$prefix; }
/** * 设置缓存 * @param string $key 缓存键 * @param mixed $value 缓存值 * @param int $expire 过期时间 * @return bool */ public function set($key, $value, $expire=0) { $key=$this->prefix . $key; return Cache::set($key, $value, $expire); }
/** * 获取缓存 * @param string $key 缓存键 * @return mixed */ public function get($key) { $key=$this->prefix . $key; return Cache::get($key); }
/** * 删除缓存 * @param string $key 缓存键 * @return bool */ public function delete($key) { $key=$this->prefix . $key; return Cache::delete($key); }
// ... 其他Redis操作方法}
使用方法:
phpuse app\common\library\Redis;
// 创建Redis对象,设置前缀$redis=new Redis('prefix_');
// 设置缓存$redis->set('test', 'hello world');
// 获取缓存$value=$redis->get('test');
// 删除缓存$redis->delete('test');
通过以上扩展,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对象了
这里需要注意的是:
一个是调thinkphp5的redis的方法,就是这样用。
一个是如果你要调用原生的redis方法
基本的用法都讲完了。
接下来就愉快的开始扩展redis方法吧。
先找到这个类
这个类里并没有list的相关操作方法,那我们就来扩展list的相关方法。
这里的话,我就举一个例子了。
在控制器里去调用
这样就写入成功了。
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

