redis客户端

    
    2 redis(php) api/客户端/扩展
   
    Redis的客户端实际上担负了通过网络 协议与Redis Server进行通信的过程,通信的过程必须遵循 协议规范,
   
    让客户的调用更加符合特定语言的使用习惯。现有PHP客户端:rediska、phpredis、Predis、Redisent.
   
    这些客户端中,有纯PHP的实现方案,也有二进制版本的实现方案。这里我们选择二进制版本的phpreids.
   
    //官网地址 http://redis.io/clients/
   
    2.1 获取源码包
   
    wget -c https://nodeload.github.com/nicolasff/phpredis/tarball/master
   
    2.2 解包(没错你 下载的就是master)
   
    tar zxf master
   
    cd nicolasff-phpredis-f1231c9/
   
    2.3 准备php扩展库所需环境
   
    /usr/bin/phpize
   
    Configuring for:
   
    PHP Api Version:         20041225
   
    Zend Module Api No:      20050922
   
    Zend Extension Api No:   220051025
   
    2.4 配置
   
    ./configure --with-php-config=/usr/bin/php-config
   
    2.5 编译安装
   
    make && make install
   
    //生成的redis.so
   
    file /usr/lib64/php/modules/redis.so
   
    /usr/lib64/php/modules/redis.so: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), not stripped
   
    2.6 编辑/etc/php.ini (我的rpm 方式安装的php)
   
    extension_dir = "/usr/lib64/php/modules"
   
    extension=redis.so
   
    //重启apache
   
    /etc/init.d/httpd restart
   
    2.7 验证模块
   
    php -m | grep -i 'redis'
   
    redis
   
    //phpinfo 输出

 
    2.8 验证
   
    cat > redis.php 《 EOF
   
    <?php
   
    $redis = new Redis();
   
    $redis->connect('10.0.100.70',6379);
   
    $redis->set('foo', 'Hello world');
   
    echo $redis->get('foo');
   
    ?>
   
    EOF
   
    $ php redis.php
   
    Hello world$
   
    3 redis 定义
   
   
http://zh.wikipedia.org/wiki/Redis
   
    Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主持。
   
    数据模型
   
    除了常规的数值或字符串,redis的键值还可以是以下形式之一:
   
    Lists (列表)
   
    Sets (集合)
   
    Sorted sets (有序集合)
   
    Hashes (哈希表)
   
    持久化
   
    通常,Redis将数据
存储于内存中,或被配置为使用虚拟内存。通过两种方式可以实现数据持久化:使用快照的方式,将内存中的数据不断写入磁盘;或使用类似MySQL的日志方式,记录每次更新的日志。前者性能较高,但是可能会引起一定程度的数据丢失;后者相反。
   
    主从同步
   
    Redis支持将数据同步到多台从库上,这种特性对提高读取性能非常有益。
   
    性能
   
    相比需要依赖磁盘记录每个更新的数据库,基于内存的特性无疑给Redis带来了非常优秀的性能。读写操作之间有显着的性能差异。
   
    提供API的语言:
   
    C/
C++/C#/Clojure/Common Lisp/Erlang/Haskell/Java/Javascript/Lua/Objective-C/Perl/PHP/Python/Ruby/Scala/Go/Tcl
   
    4 redis-cli 命令
   
    连接操作相关的命令
   
    quit:关闭连接(connection)
   
    auth:简单密码认证
   
    持久化
   
    save:将数据同步保存到磁盘
   
    bgsave:将数据异步保存到磁盘
   
    lastsave:返回上次成功将数据保存到磁盘的Unix时戳
   
    shundown:将数据同步保存到磁盘,然后关闭服务
   
    远程服务控制
   
    info:提供服务器的信息和统计
   
    monitor:实时转储收到的请求
   
    slaveof:改变复制策略设置
   
    config:在运行时配置Redis服务器
   
    对value操作的命令
   
    exists(key):确认一个key是否存在
   
    del(key):删除一个key
   
    type(key):返回值的类型
   
    keys(pattern):返回满足给定pattern的所有key
   
    randomkey:随机返回key空间的一个key
   
    rename(oldname, newname):将key由oldname重命名为newname,若newname存在则删除newname表示的key
   
    dbsize:返回当前数据库中key的数目
   
    expire:设定一个key的活动时间(s)
   
    ttl:获得一个key的活动时间
   
    select(index):按索引查询
   
    move(key, dbindex):将当前数据库中的key转移到有dbindex索引的数据库
   
    flushdb:删除当前选择数据库中的所有key
   
    flushall:删除所有数据库中的所有key

你可能感兴趣的:(redis客户端)