基于 PhalApi2 的 Redis 拓展 PhalApi2-Redis

GPL
PHP
跨平台
2017-08-21
喵了_个咪

基于PhalApi2的Redis拓展

前言

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

附上:

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

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

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

安装配置Redis

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

oneinstack:https://oneinstack.com/

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

databases 100                      #redis库的最大数量默认16推荐修改100
requirepass phalapi                #连接此redis的连接密码默认无密码推荐设置

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

//下载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文件中,添加:

{
    "require": {
        "phalapi/redis": "2.0.*"
    }
}

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

配置文件

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

/**
     * 扩展类库 - 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加入如下代码

// 惰性加载Redis
\PhalApi\DI()->redis = function () {
    return new \PhalApi\Redis\Lite(\PhalApi\DI()->config->get("app.redis.servers"));
}c

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

// 存入永久的键值队
\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 注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!

加载中

评论(0)

暂无评论

暂无资讯

暂无问答

reids使用

centos6.4安装 配置 redis 添加开机启动redis

2015/07/18 11:21
40
0
Redis资料汇总

1.Redis是什么? 十五分钟介绍 Redis数据结构 Redis系统性介绍 一个很棒的Redis介绍PPT 强烈推荐!非同一般的Redis介绍 Redis之七种武器 锋利的Redis redis 适用场景与实现 【翻译】Redis协议...

2013/09/03 10:03
286
0
Docker的使用

安装Docker(centos7) 查看liunx内核版本,命令:uname -r,版本必须高于3.10 安装一些必要的系统工具(非必需): sudo yum install -y yum-utils device-mapper-persistent-data lvm2 添加软件...

11/29 18:57
9
0
redis-3.2.3安装

redis-3.2.3安装 1 创建安装目录 mkdir -p /soft/redis cd /soft/redis/ 2 下载安装 wget http://download.redis.io/releases/redis-3.2.3.tar.gz tar xzf redis-3.2.3.tar.gz cd redis-3.2....

2016/09/20 16:41
12
0
redis主从配置及主从切换

环境描述: 主redis:192.168.10.1 6379 从redis:192.168.10.2 6380 一、主从配置 1、将主从redis配置文件redis.conf中的aemonize no 改为 yes 2、修改从redis配置文件redis.conf中的port ...

2016/02/25 16:11
91
1
linux下postgresql 一主多从、redis集群、rabbitmq等环境搭建 (十一) redis 集群安装

redis 集群 准备工作 wget -O /xa-rdmp/temp/redis-4.0.11.tar.gz http://download.redis.io/releases/redis-4.0.11.tar.gz tar xzvf /xa-rdmp/temp/redis-4.0.11.tar.gz -C /xa-rdmp/temp/...

06/04 17:01
16
0
30个php操作redis常用方法代码例子 --转自脚本之家

1,connect 描述:实例连接到一个Redis. 参数:host: string,port: int 返回值:BOOL 成功返回:TRUE;失败返回:FALSE 示例: 复制代码代码如下: <?php $redis = new redis(); $result = $...

2016/07/19 14:32
8
0
Redis Sentinel

环境 主机名 地址 操作系统 初始状态 sentinel86 10.1.14.86 CentOS7.4 null redis87 10.1.14.87 CentOS7.4 master redis88 10.1.14.88 CentOS7.4 slave redis89 10.1.14.89 CentOS7.4 slave...

05/05 22:52
31
0
Redis系列一:初识Redis

redis是一款key-value类型的内存数据库,redis比memcached更加强大。 1、redis支持两种数据持久化方式:Snapshotting(快照)和Append-Only file(追加) 2、redis不仅支持简单的key-value,...

2016/01/19 10:58
2
1

没有更多内容

加载失败,请刷新页面

返回顶部
顶部