前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基于PhalApi2的Redis拓展

基于PhalApi2的Redis拓展

作者头像
喵了个咪233
发布于 2018-03-02 07:12:38
发布于 2018-03-02 07:12:38
88600
代码可运行
举报
运行总次数:0
代码可运行

基于PhalApi2的Redis拓展

前言

Redis在PHP开发中运用场景已经无处不在,小到简单缓存大到数据库消息队列都可以使用Redis来进行实现,基于PhalApi2的出世,PhalApi2-Redis也紧接着进行了本次适配来提供更好的开发体验,PhalApi2-Redis提供相对于原生PhalApi2-RedisCache缓存更强大的Redis操作以及完善的封装机制,帮助开发者更好的使用Redis低成本的来解决实际的业务问题.

附上:

官网地址:http://www.phalapi.net/

项目Git地址:https://github.com/wenzhenxi/phalapi2-redis

项目码云地址 : https://gitee.com/wenzhenxi/phalapi2-redis

安装配置Redis

基于Liunx强烈推荐使用oneinstack在配置php 和 Redis同事会将依赖打包好:

oneinstack:https://oneinstack.com/

手动安装redis网上有很多教程这里不再提及,主要注意一下配置文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
databases 100                      #redis库的最大数量默认16推荐修改100
requirepass phalapi                #连接此redis的连接密码默认无密码推荐设置

手动安装php-redis依赖如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//下载phpredis解压安装
wget https://github.com/nicolasff/phpredis/archive/master.zip
unzip master.zip -d phpredis
cd phpredis/phpredis-master
phpize
./configure
make && make install
//在php.ini中注册phpredis
extension = redis.so

此后可以在phpinfo()中看到redis即可

安装PhalApi2-Redis

在项目的composer.json文件中,添加:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "require": {
        "phalapi/redis": "2.0.*"
    }
}

配置好后,执行composer update更新操作即可。

配置文件

我们需要在 ./config/app.php 配置文件中追加以下配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    /**
     * 扩展类库 - Redis扩展
     */
    'redis' => array(
        //Redis链接配置项
        'servers'  => array(
            'host'   => '127.0.0.1',        //Redis服务器地址
            'port'   => '6379',             //Redis端口号
            'prefix' => 'PhalApi_',         //Redis-key前缀
            'auth'   => 'phalapi',          //Redis链接密码
        ),
        // Redis分库对应关系操作时直接使用名称无需使用数字来切换Redis库
        'DB'       => array(
            'developers' => 1,
            'user'       => 2,
            'code'       => 3,
        ),
        //使用阻塞式读取队列时的等待时间单位/秒
        'blocking' => 5,
    ),

入门使用

初始化PhalApi2-Redis,入口文件index.php加入如下代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 惰性加载Redis
\PhalApi\DI()->redis = function () {
    return new \PhalApi\Redis\Lite(\PhalApi\DI()->config->get("app.redis.servers"));
}c

常用基础操作(具体API可以查阅代码中src/Lite.php)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 存入永久的键值队
\PhalApi\DI()->redis->set_forever(键名,,库名);
// 获取永久的键值队
\PhalApi\DI()->redis->get_forever(键名, 库名);
    
// 存入一个有时效性的键值队,默认600秒
\PhalApi\DI()->redis->set_Time(键名,,有效时间,库名);
// 获取一个有时效性的键值队
\PhalApi\DI()->redis->get_Time(键名, 库名);
    
// 写入队列左边
\PhalApi\DI()->redis->set_Lpush(队列键名,, 库名);
// 读取队列右边
\PhalApi\DI()->redis->get_lpop(队列键名, 库名);
// 读取队列右边 如果没有读取到阻塞一定时间(阻塞时间或读取配置文件blocking的值)
\PhalApi\DI()->redis->get_Brpop(队列键名,, 库名);
    
// 删除一个键值队适用于所有
\PhalApi\DI()->redis->del(键名, 库名);
// 自动增长
\PhalApi\DI()->redis->get_incr(键名, 库名);
// 切换DB并且获得操作实例
\PhalApi\DI()->redis->get_redis(键名, 库名);

如果大家有更好的建议可以私聊或加入到PhalApi大家庭中前来一同维护PhalApi 注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于PhalApi的Redis拓展
#基于PhalApi的Redis拓展 ##前言## 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 编写本次拓展出于的目的是为了解决并不是非常熟悉redis
喵了个咪233
2018/03/01
8200
基于PhalApi的Redis拓展
[PhalApi实战篇(1)]Redis队列处理异步任务
[PhalApi实战篇(1)]Redis队列处理异步任务 前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 哈喽大家好呀!之前编写的PhalApi入门篇
喵了个咪233
2018/03/02
1.4K0
[PhalApi实战篇(1)]Redis队列处理异步任务
PhalApi-RabbitMQ基于PhalApi专业队列拓展
PhalApi-RabbitMQ基于PhalApi专业队列拓展 前言 RabbitMQ一直都是队列中的标杆,这次有幸PhalApi也能啃上RabbitMQ真是一件大好事,感谢**@牧鱼人**提供基于p
喵了个咪233
2018/03/02
6680
PhalApi-RabbitMQ基于PhalApi专业队列拓展
基于PhalApi的Smarty拓展
基于PhalApi的Smarty拓展 前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 用过的童鞋都知道PhalApi是一个Api框架不提供view层的
喵了个咪233
2018/03/02
9640
基于PhalApi的Smarty拓展
phalapi-进阶篇7(使用缓存以及用redis拓展解决实际问题)
#phalapi-进阶篇7(使用缓存以及用redis拓展解决实际问题) ##前言## 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 当我们在开发一个项目时
喵了个咪233
2018/03/01
1.3K0
phalapi-进阶篇7(使用缓存以及用redis拓展解决实际问题)
基于PhalApi的DB集群拓展 V0.1bate
#基于PhalApi的DB集群拓展 V0.1bate ##前言## 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 编写本次拓展出于的目的是解决大量数据写入
喵了个咪233
2018/03/01
9880
基于PhalApi的DB集群拓展 V0.1bate
Redis 5.0 Cluster集群带认证及客户端连接
Redis在3.0版正式引入redis-cluster集群这个特性。Redis集群是一个提供在多个Redis间节点间共享数据的程序集。Redis集群是一个分布式(distributed)、容错(fault-tolerant)的Redis内存K/V服务,集群可以使用的功能是普通单机Redis所能使用的功能的一个子集(subset),比如Redis集群并不支持处理多个keys的命令,因为这需要在不同的节点间移动数据,从而达不到像Redis那样的性能,在高负载的情况下可能会导致不可预料的错误。还有比如set里的并集(unions)和交集(intersections)操作,就没有实现。通常来说,那些处理命令的节点获取不到键值的所有操作都不会被实现。在将来,用户或许可以通过使用MIGRATE COPY命令,在集群上用计算节点(Computation Nodes) 来执行多键值的只读操作, 但Redis集群本身不会执行复杂的多键值操作来把键值在节点间移来移去。Redis集群不像单机版本的Redis那样支持多个数据库,集群只有数据库0,而且也不支持SELECT命令。Redis集群通过分区来提供一定程度的可用性,在实际环境中当某个节点宕机或者不可达的情况下继续处理命令。
星哥玩云
2022/07/24
1.7K0
Redis 5.0 Cluster集群带认证及客户端连接
PHP 使用 Redis
开始在 PHP 中使用 Redis 前, 需要确保已经安装了 redis 服务及 PHP redis 驱动,且你的机器上能正常使用 PHP。
阳光岛主
2019/02/18
8710
PHP 使用 Redis
phalapi-进阶篇5(数据库读写分离以及多库使用)
#phalapi-进阶篇5(数据库读写分离以及多库使用)# ##前言## 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 读写分离是我们常用的一种解决方案,
喵了个咪233
2018/03/01
1K0
phalapi-进阶篇5(数据库读写分离以及多库使用)
PHP安装、使用Redis,学习笔记。
Redis相关知识:https://www.runoob.com/redis/redis-tutorial.html
房东的狗丶
2023/02/17
4270
redis学习笔记
优点: 高并发读写性能、大数据量扩展(分布式存储)、配置简单、操作与数据模型灵活高效、成本 低廉
CS逍遥剑仙
2018/10/11
6730
redis学习笔记
PhalApi 2.x:让PHP接口开发从“简单”到“极简”的开源框架
PhalApi 2.x 是一款专为接口开发设计的轻量级PHP框架,其核心代码精简但功能强大。根据开发者实测,在2核2G服务器环境下,空框架的接口并发处理能力可约达100+次/秒,即使是包含数据库查询的复杂业务接口也能稳定处理60-100次/秒的并发请求,平均响应时间经性能优化后最快能达约20ms左右。这种性能表现使其成为中小型项目及微服务架构的理想选择。
dogstar
2025/04/11
1720
PhalApi 2.x:让PHP接口开发从“简单”到“极简”的开源框架
[喵咪KafKa(3)]PHP拓展See-KafKa
[喵咪KafKa(3)]PHP拓展See-KafKa 前言 (Simple 简单 easy 容易 expand 的拓展) KafKa是由Apache基金会维护的一个分布式订阅分发系统,KafKa它最初
喵了个咪233
2018/03/02
1.2K0
[喵咪KafKa(3)]PHP拓展See-KafKa
Laravel Redis操作大全
1,普通得set/get操作,set操作,如果键名存在,则会覆盖原有得值 $redis = app("redis.connection"); $redis->set('library' , 'phpredis');//存储key为library ,值phpredis得记录 $redis->get("library");//获取key为library得记录值 set/get 多个key-value $mkv = array(                         "user:001"=>'
Lansonli
2021/10/09
1.2K0
PhalApi:在宝塔一键安装部署PHP开源接口框架的教程
在安装界面,根据提示,填入你的接口域名,例如这里是:myapi.phalapi.net,以及你的新建接口数据库的初始名称和数据库密码。点击【提交】。
dogstar
2024/08/19
2480
PhalApi:在宝塔一键安装部署PHP开源接口框架的教程
Redis 数据库配置与应用
Redis 是一个key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
王 瑞
2022/12/28
5060
快速搭建你的api数据交易平台-图文开发教程
如果你需要开发搭建自己的api数据交易平台,并且能在平台上面进行对客户管理、接口管理、套餐管理、账单管理、充值管理,那么下面将来介绍如何使用接口大师这个框架快速进行开发。
dogstar
2022/05/28
7690
PhalApi+Gearman,接口MQ异步队列任务的完整开发教程
在API接口同步请求过程中,不适合处理耗时过长、或者一直轮询的工作。此时,可以结合MQ异步队列任务进行后台处理。
dogstar
2022/10/19
4940
8.Redis数据库客户端操作实践及入坑出坑
前置知识学习补充 Redis数据库基础入门介绍与安装 - https://blog.weiyigeek.top/2019/4-17-49.html
全栈工程师修炼指南
2022/09/28
1.9K0
8.Redis数据库客户端操作实践及入坑出坑
phalapi-入门篇2(把它玩起来)
#phalapi-入门篇1(把它玩起来)# ##前言## 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 这一小节主要是在搭建好的环境下,先把这个框架运行起
喵了个咪233
2018/03/01
7800
phalapi-入门篇2(把它玩起来)
相关推荐
基于PhalApi的Redis拓展
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验