• redis的使用1


    学Linux已经将近一个月了,Linux中讲到的redis的使用,到现在还不回具体的使用在php中,今天周末,于是想把redis的使用搞懂。

    网上的资料不算多,但还需要硬着头皮学。其中找到这样一篇关于redis的使用的博客如下:

    Redis系列-php怎么通过redis扩展使用redis

    原文地址:【http://jingyan.baidu.com/article/fdbd4277187fb7b89e3f48f2.html

    1、安装php扩展
     
    a)安装php扩展phpredis:
     
     
    [plain] 
    [root@xsf002 tool]# git clone https://github.com/nicolasff/phpredis.git phpredis  
    [root@xsf002 tool]# cd phpredis/  
    [root@xsf002 phpredis]# /usr/local/php/bin/phpize   #<SPAN >假设 php目录:</SPAN><SPAN >/usr/local/php</SPAN>  
    [root@xsf002 phpredis]# ./configure --with-php-config=/usr/local/php/bin/php-config  
    [root@xsf002 phpredis]# make  
    [root@xsf002 phpredis]# make install  
     
    [root@xsf002 tool]# git clone https://github.com/nicolasff/phpredis.git phpredis
    [root@xsf002 tool]# cd phpredis/
    [root@xsf002 phpredis]# /usr/local/php/bin/phpize   #假设 php目录:/usr/local/php
    [root@xsf002 phpredis]# ./configure --with-php-config=/usr/local/php/bin/php-config
    [root@xsf002 phpredis]# make
    [root@xsf002 phpredis]# make install 如果顺利,将得到类似如下提示: 
     
     
    [plain] 
    Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/  
     
    Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ php扩展文件目录下,将有个redis.so文件。 
     
    b)加载redis.so
     
    在php.ini 文件中,添加配置:
     
     
    [plain] 
    [redis]  
    extension=redis.so  
     
    [redis]
    extension=redis.so重启web服务器,echo phpinfo() ,将看到大致如下显示:
     
     
     
     2、通过扩展访问redis服务器
     
    php如何使用redis服务器存取数据?无非是经过phpredis扩展模块,通过如下几个步骤:
     
    1、实例化redis类   【new redis()】
     
    2、调用redis类方法,连接redis服务器 【connect,pconnect】
     
    3、设置连接选项【setOption】
     
    4、存/取数据 
     
    5、关闭连接 【close】
     
    如果使用默认选项,步骤3不需要。请参看下面的代码示例:  
     
     
    [php] 
    <?php  
    $redis = new Redis(); #实例化redis类  
    $redis->connect('127.0.0.1'); #连接服务器  
    $redis->set('key', 'hello '); #调用方法,设置string类型值  
    $redis->append('key', 'world'); #修改string类型值  
    echo $redis->get('key');  #获取redis key的值,并输出显示   
    echo $redis->type('key'); #获取key 的数据类型  
    echo $redis->echo('will close...');# 输出字符串  
    $redis->close(); #关闭连接  
     
    <?php
    $redis = new Redis(); #实例化redis类
    $redis->connect('127.0.0.1'); #连接服务器
    $redis->set('key', 'hello '); #调用方法,设置string类型值
    $redis->append('key', 'world'); #修改string类型值
    echo $redis->get('key');  #获取redis key的值,并输出显示 
    echo $redis->type('key'); #获取key 的数据类型
    echo $redis->echo('will close...');# 输出字符串
    $redis->close(); #关闭连接  通过上面的代码,我们基本完成一个简单redis的存取操作。下面罗列一些Redis类的一些属性及方法 
     
    a)连接redis server:
     
     
    connect :连接server
    pconnect :长连接
    auth :权限验证
    select :选择DB
    close : 关闭连接
      setOption : 设置 client 选项
    getOption : 获取client选项
    ping : ping redis server
     echo : 输出 字符串
     
    注意,如果频繁操作redis,不停地connect 和close会很耗性能的,这个时候,建议用pconnect 建立个长连接
     
    b)字符串读写函数
     
     
    append  :在值的后面追加值
    decr :递减一个key的值
    incr :递增一个key的值
     
    get :获取一个值
    set :设置一个值
    getSet :设置值,并返回老值
    mGet :批量获取值
    mSet :批量设置值
    strlen :获取值长度
     
    注意:如果能用批量操作尽量用批量,减少频繁连接redis数据库性能
     
    c)hash读写函数
     
     
    hDel :删除一个多个域
    hExists :判断一个hash域是否存在
    hGet :获取hash域的值
    hGetAll :获取所有域值
    hIncrBy :自增长一个hash int域的值
    hKeys :获取hash 所有域
    hLen :获取域个数
    hMGet :批量获取域的值
    hMSet :批量设置域的值
    hSet :设置域的值
    hVals:得到所有域的值
     
    d)list读写函数
     
     
    lInsert:插入元素
    lLen:list长度
    lPop:移除并获取第一个颜色
    lPush:插入一个元素
    lRem:移除元素
    lSet:设置元素值
     
    e)set
     
     
    sAdd:增加一个或多个成员
    sIsMember:是否包含
    sMembers:得到成员
    sMove:移动成员
    sPop:移除成员
    sRandMember:得到随机成员
    sRem:删除
     
    f)sorted set
     
     
    zAdd:增加一个或多个
    zCard:成员个数
    zIncrBy:递增成员score
    zRange:返回索引范围内的成员
    zRangeByScore :返回score范围内的成员
    zScore:获取成员score
    zRem:移除一个或多个成员
    持之以恒!
  • 相关阅读:
    Linq之旅:Linq入门详解(Linq to Objects)【转】
    Shadow Map 原理和改进 【转】
    OSG 中文解决方案 【转】
    shadow mapping实现动态shadow实现记录 【转】
    RenderMonkey 练习 第六天 【OpenGL Water 水效】
    glsl水包含倒影的实现(rtt) 【转】
    Docker镜像仓库Harbor之搭建及配置
    docker登录没有配置https的harbor镜像仓库
    Git 清除远端已删除的分支
    单节点k8s的一个小例子 webapp+mysql
  • 原文地址:https://www.cnblogs.com/ishenghuo/p/3983920.html
Copyright © 2020-2023  润新知