基于PhalApi的Redis拓展

基于PhalApi的Redis拓展

前言

先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架.

编写本次拓展出于的目的是为了解决并不是非常熟悉redis的童鞋能够方便的使用redis进行实际的运用 ,对原生的phpredis进行的封装优化良好的注释和例子希望能提供更好的帮助!

注:本拓展并没有开发完成,也没进行严格的测试,此版本为还处于开发阶段的鉴赏版.

附上:

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

开源中国Git地址:http://git.oschina.net/dogstar/PhalApi/tree/release

安装配置redis以及phpredis

基于centos6.5

    //下redis解压安装
    wget http://download.redis.io/releases/redis-2.8.17.tar.gz
    tar zxvf redis-2.8.17.tar.gz
    cd redis-2.8.17
    make
    make test
    make install
    //生成6379端口以及配置文件
    cd utils
    ./install_server.sh
    Please select the redis port for this instance: [6379]
    Please select the redis config file name [/etc/redis/6379.conf]
    Please select the redis log file name [/var/log/redis_6379.log]
    Please select the data directory for this instance [/var/lib/redis/6379]
    Please select the redis executable path [/usr/local/bin/redis-server]
    //对配置文件进行配置
    vi /etc/redis/6379.conf
    databases 100                            #可以使用的库的数量修改16为100
    masterauth xxxxxxxxxxxxx                 #连接 master 的认证密码
    requirepass woyouwaimai76                #连接此redis的连接密码
    :wq
    //修改关闭redis需要密码
    vi /etc/rc.d/init.d/redis_6379
    $CLIEXEC -p $REDISPORT -a woyouwaimai76 shutdown    #stop redis需要密码
    //重启redis
    service redis_6379 restart
    //添加到系统启动项
    chkconfig redis_6379 on

     //下载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

     //测试
      <?php
         $auth     = 'xxxxxxxxx';
         $source   = '127.0.0.1';
         $host     = '6379';
         $redis    = new Redis();
         echo $redis->connect($host) ? "$host connect" : "$host fail";
         if($auth){
             echo $redis->auth($auth) ? " auth success" : " auth fail";
         }

注册配置文件在Config.app文件下面

return array(
    //Redis配置项
    'redis' => array(
        //Redis缓存配置项
        'servers'  => array(
            'host'   => '127.0.0.1',        //Redis服务器地址
            'port'   => '6379',             //Redis端口号
            'prefix' => 'developers_',      //Redis-key前缀
            'auth'   => 'woyouwaimai76',    //Redis链接密码
        ),
        // Redis分库对应关系
        'DB'       => array(
            'developers' => 1,
            'user'       => 2,
            'code'       => 3,
        ),
        //使用阻塞式读取队列时的等待时间单位/秒
        'blocking' => 5,
    ),

);

在init入口文件注册redis拓展

//redis链接
DI()->redis = new Redis_Lite(DI()->config->get('app.redis.servers'));

开始使用

//存入永久的键值队
DI()->redis->set_forever(键名,值,库名);
//获取永久的键值队
DI()->redis->get_forever(键名, 库名);

//存入一个有时效性的键值队,默认600秒
DI()->redis->set_Time(键名,值, 库名,有效时间);
//获取一个有时效性的键值队
DI()->redis->get_Time(键名, 库名);

//写入队列左边
DI()->redis->set_Lpush(队列键名,值, 库名);
//读取队列右边
DI()->redis->get_lpop(队列键名, 库名);
//读取队列右边 如果没有读取到阻塞一定时间(阻塞时间或读取配置文件blocking的值)
DI()->redis->get_Brpop(队列键名,值, 库名);

//删除一个键值队适用于所有
DI()->redis->del(键名, 库名);
//自动增长
DI()->redis->get_incr(键名, 库名);
//切换DB并且获得操作实例
DI()->redis->get_redis(键名, 库名);

更多使用方法请参考Redis_Lite文件

时间: 2024-11-03 02:02:56

基于PhalApi的Redis拓展的相关文章

基于PhalApi的Smarty拓展

基于PhalApi的Smarty拓展 前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 用过的童鞋都知道PhalApi是一个Api框架不提供view层的功能,但是很多童鞋有开发一个自己管理自己API的web界面的需求,或者是个人后台,那么是否意味着要去在学习另外一种框架来实现呢?当然不是在之前也有童鞋放出过一个View拓展,使用之后还是有一些不方便的地方,所以引入一个比较老牌的PHP模版引擎Smarty来解决这类问题,本拓展提供了对Smarty的封

PhalApi-RabbitMQ基于PhalApi专业队列拓展

PhalApi-RabbitMQ基于PhalApi专业队列拓展 前言 RabbitMQ一直都是队列中的标杆,这次有幸PhalApi也能啃上RabbitMQ真是一件大好事,感谢@牧鱼人提供基于php-amqplib/php-amqplib封装的PhalApi-RabbitMQ扩展 关于RabbitMQ相关的安装集群配置可以参考笔者博客的MQ模块,地址如下https://my.oschina.net/wenzhenxi/blog?catalog=5613216&temp=1491640864558

phalapi-进阶篇7(使用缓存以及用redis拓展解决实际问题)

phalapi-进阶篇7(使用缓存以及用redis拓展解决实际问题) 前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 当我们在开发一个项目时,我们可能会遇到很多问题,比如消息推送,发送邮件,发送短信,以及并发跟不上,这个时候就该轮到常用的缓存出手解救我们了,我们接下来来讲讲缓存Redis在实际中的使用,解决实际问题.在这里是基于redis的基本知识,和简单看一下PhalApi的redis拓展文档在前来阅读此小节. 附上: 官网地址:http://

PhalApi-SMS基于PhalApi容联云短信服务器拓展

PhalApi-SMS基于PhalApi容联云短信服务器拓展 前言 在做项目时更换短信运营商时,找到了容联云通讯(滴滴用的是他的服务),感觉很不错看了下SDK文件和测试Demo感觉使用起来并不是很方便, 因为确实很多项目都会用到这一套服务比较希望好用优雅一些,所以提供了本次拓展也希望大家喜欢 附上: 官网地址:http://www.phalapi.net/ 开源中国Git地址:http://git.oschina.net/dogstar/PhalApi/tree/release 开源中国拓展Gi

基于PhalApi的DB集群拓展 V0.1bate

前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 编写本次拓展出于的目的是解决大量数据写入分析的问题,也希望本拓展能对大家有些帮助,能够解决大家遇到的同样的问题. 注:V0.1bate版本,很多功能尚不完善,只提供技术交流使用,请不要用户生产环境 附上: 官网地址:http://www.phalapi.net/ 开源中国Git地址:http://git.oschina.net/dogstar/PhalApi/tree/release 1.起因 说到

Windows Server 2016 配置指南 之 安装 PHP redis 拓展

前文 安装 Redis3.0 介绍了服务器安装 Redis3.0,但是就像我们安装了 Mysql 依旧需要然后对应的 php 驱动拓展一样,redis 也是.这里就讲一下如何安装 Redis 的 php 拓展. 尽管 PHP7 正式版出来已经有个把月数了,但是提供 Windows 系统使用的 phpredis 已经没有更新.见地址:http://windows.php.net/downloads/pecl/releases/redis/ ,依旧是旧的. 不过么,phpredis 的 php7 分

Spring与Mybatis基于注解整合Redis的方法_java

基于这段时间折腾redis遇到了各种问题,想着整理一下.本文主要介绍基于Spring+Mybatis以注解的形式整合Redis.废话少说,进入正题. 首先准备Redis,我下的是Windows版,下载后直接启动redis-server就行了,见下图: 一,先上jar包 二,创建实体类 package com.sl.user.vo; import java.io.Serializable; import com.fasterxml.jackson.databind.PropertyNamingSt

如何基于MySQL及Redis搭建统一的kv存储服务 | 秦波

一.MySQL+Redis常用部署方式 1.1  拓扑 1.2  特点 业务层通过双写同时写MySQL及Redis.读通常在Redis,若读取不到,则从MySQL读取,然后将数据同步到Redis,Redis通常设置expire或者默认LRU进行数据淘汰. 这种使用方式会有如下问题: 1)MySQL及Redis存在数据不一致风险,尤其是长时间运行的系统 2)业务层需要处理MySQL sql schema与Redis kv数据结构上的逻辑差异 3)无统一运维 4)无法方便扩容/缩容 二.KV化的存储

Linux_基于Docker搭建Redis集群

说明:基于Ubuntu16.04-64bit,开始本教程前,请确保您的Linux系统已安装Docker. 步骤一:Redis镜像安装 1.下载Redis镜像 镜像中心 推荐使用网易蜂巢的镜像中心 地址:https://c.163.com/hub#/m/home/  Redis镜像 docker pull hub.c.163.com/library/redis:latest  安装完成后,使用docker images命令,查看是否安装成功 步骤二:Redis集群搭建 1.运行Redis镜像 分别