好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

phpredis实例化 phpredis数据类型

很多站长朋友们都不太清楚phpredis实例化,今天小编就来给大家整理phpredis实例化,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 thinkphp5框架扩展redis类方法示例 2、 订单超时,活动过期解决方案:php监听redis键重复触发引发事件 3、 thinkphp如何使用redis 有简单的示例代码吗 4、 php使用redis为什么总是会出现错误? 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程序设计有所帮助。

您可能感兴趣的文章:针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例ThinkPHP行为扩展Behavior应用实例详解ThinkPHP应用模式扩展详解ThinkPHP框架设计及扩展详解ThinkPHP的Widget扩展实例老生常谈ThinkPHP中的行为扩展和插件(推荐)TP5(thinkPHP5)框架mongodb扩展安装及特殊操作示例thinkPHP下的widget扩展用法实例分析thinkPHP3.2.2框架行为扩展及demo示例ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】thinkphp5框架实现的自定义扩展类操作示例

订单超时,活动过期解决方案:php监听redis键重复触发引发事件

订单超时,活动过期解决方案:php监听redis键重复触发引发事件

Redis的2.8.0版本之后可用,键空间消息(Redis Keyspace Notifications),配合2.0.0版本之后的SUBSCRIBE 可以完成这个定时任务的操作了,定时的单位是秒。

1.我们先订阅频道称为 redisChat

2.现在,我们重新开启个redis客户端,然后在同一个频道redisChat发布消息,订阅者可以接收到消息。

接收到的消息如下:

3.Key过期事件的Redis配置

需要这里配置notify-keyspace-events的参数为“EX” .X代表了过期事件。notify-keyspace-events “Ex”保存配置后,重启Redis的服务,使配置生效。

PHP Redis实现订阅键空间通知

redis实例化类:

redis.class.php

1个

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18岁

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

//遇到类别重复的报错,所有叫Redis2

classRedis2  

{

    private$redis;

    publicfunction__construct($host= '127.0.0.1', $port= 6379)

    {

        $this->redis = newRedis();

        $this->redis->connect($host, $port);

    }

    publicfunctionsetex($key, $time, $val)

    {

        return$this->redis->setex($key, $time, $val);

    }

    publicfunctionset($key, $val)

    {

        return$this->redis->set($key, $val);

    }

    publicfunctionget($key)

    {

        return$this->redis->get($key);

    }

    publicfunctionexpire($key= null, $time= 0)

    {

        return$this->redis->expire($key, $time);

    }

    publicfunctionpsubscribe($patterns= array(), $callback)

    {

        $this->redis->psubscribe($patterns, $callback);

    }

    publicfunctionsetOption()

    {

        $this->redis->setOption(\Redis::OPT_READ_TIMEOUT, -1);

    }

}

过期事件的订阅:

psubscribe.php

1个

2

3

4

5

6

7

8

9

10

11

12

13

14

15

require_once'./Redis.class.php';

$redis= new\Redis2();

// 解决Redis客户端订阅时候超时情况

$redis->setOption();

$redis->psubscribe(array('__keyevent@0__:expired'), 'keyCallback');

// 回调函数,这里写处理逻辑

functionkeyCallback($redis, $pattern, $chan, $msg)

{

    echo"Pattern: $pattern\n";

    echo"Channel: $chan\n";

    echo"Payl

    oad: $msg\n\n";

    //keyCallback为订阅事件后的回调函数,这里写业务处理逻辑,

    //比如前面提到的商品不支付自动撤单,这里就可以根据订单id,来实现自动撤单

}

设置过期事件:

index.php

1个

2

3

4

require_once'./Redis.class.php';

$redis= new\Redis2();

$order_id= 123;

$redis->setex('order_id',10,$order_id);

先用命令行模式执行 psubscribe.php

在浏览器访问 index.php

效果如下:

thinkphp如何使用redis 有简单的示例代码吗

$redis = new \think\cache\driver\Redis();//实例化Think的Redis驱动

$redis->has('键名');//判断redis值是否存在

$redis->get('键名');//获取redis的某个值;

$redis->set('键名','键值');//设置redis值

$redis->inc('键名',进长[默认为1]);//自增缓存。只对数字整型有效

$redis->dec('键名',进长[默认为1]);//自减缓存。只对数字整型有效

$redis->rm('键名');//删除缓存

$redis->clear();//清空缓存

php使用redis为什么总是会出现错误?

你的php是VC6编译的 你的php_redis.dll是VC9编译的导致不兼容。 找个VC6的php_redis.dll或重装个VC9的php都可以。

关于phpredis实例化的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于phpredis实例化 phpredis数据类型的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did208267
更新时间:2023-05-03   阅读:17次

上一篇: 下载php网页源码 php网页源码

下一篇:php乱码解决 phpstudy乱码

最新资料更新

  • 1.红帽升级php 红帽linux最新版
  • 2.php链接数据库创建表格 php连接数据库的方法
  • 3.php毫秒间隔 php时间距离现在
  • 4.php+引用swf php引用其他文件内的函数
  • 5.phpoutfile的简单介绍
  • 6.php连接vertica php连接mysql
  • 7.php求数组的交集 php数组处理函数
  • 8.php提示重复提交 php api防止重复提交
  • 9.php生成静态代码 php如何实现静态化
  • 10.php获取监控视频 php采集视频地址
  • 11.抓取淘宝商品php 抓取淘宝商品风控
  • 12.php内存管理垃圾回收 php的垃圾回收机制是怎样的
  • 13.php存储的知识 php会话保存数据的两种方式是
  • 14.php拼音模糊查询 php模糊搜索功能
  • 15.射洪php招聘 射洪平台公司招聘
  • 16.imagephp缩放 缩放图像可以改变图像的分辨率吗
  • 17.phpping测速 测试php性能工具
  • 18.php条形码生成 条形码生成器工具
  • 19.php根据城市定位 php获取位置信息
  • 20.php构造方法重写 php 构造方法

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]