• Redis(超高性能数据库)持久化Key-Value数据存储
    时间:2009-11-19   作者:佚名   出处:互联网

    redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。问题是这个项目还很新,可能还不足够稳定,而且没有在实际的一些大型系统应用的实例。此外,缺乏mc中批量get也是比较大的问题,始终批量获取跟多次获取的网络开销是不一样的。



    Redis于memcached最大的不同之处在于他可以将数据进行持久化存储.
    Redis可保存Strings类型,Lists类型和Sets类型的数据,还有排序功能,支持主从复制等功能.

    1.安装
    wget http://redis.googlecode.com/files/redis-0.900_2.tar.gz
    tar -zxvf redis-0.900_2.tar.gz
    cd redis-0.900
    make

    #复制两个配置文件和命令文件到以下对应目录
    cp redis.conf /etc/redis/
    cp redis-benchmark redis-cli redis-server /usr/bin/

    2.修改部分参数
    #设定内核参数
    echo 1 > /proc/sys/vm/overcommit_memory

    #修改/etc/redis/redis.conf
    daemonize yes
    logfile /dev/null

    #启动服务
    redis-server /etc/redis/redis.conf

    3.测试服务是否正常
    redis-benchmark

    4.基于命令行的测试
    [root@ php]#redis-cli set spawn king
    [root@ php]#redis-cli get spawn
    king

    5.基于redis的PHP模块
    svn checkout http://phpredis.googlecode.com/svn/trunk/
    phpize
    ./configure –with-php-config = /usr/local/php/bin/php-config
    make
    make install

    #修改php.ini
    extension=redis.so

        $redis = new Redis();
        $redis->connect('127.0.0.1',6379);
        $redis->set('spawn','king');
        echo $redis->get('spawn');
        //result:king


    官方提供的已经实现的方法:
    http://code.google.com/p/phpredis/wiki/referencemethods

    7.另有一个PHP代码的实现版本,可参考以下文件
    http://code.google.com/p/redis/source/browse/#svn/trunk/client-libraries/php

    注:本文参考http://hi.baidu.com/thinkinginlamp/blog/item/3358c93d174e35ce9f3d62bf.html

    网友留言/评论

    我要留言/评论