Redis详解

作者: 落魄PHP女程序员 | 来源:发表于2018-05-26 18:38 被阅读0次

    菜鸟一枚,如果有不对的地方欢迎指出!

    Redis简介

    Redis是完全开源的,遵循BSD协议(BSD协议是可以自由使用源码修改代码再发布的一个协议),是一个高性能的key-value数据库.

    redis和其他key-value缓存产品有一下三个特点:

    1.redis支持数据的持久化,可以将内存中的数据保存在磁盘中。(memcache保存在内存中)

    2.redis不仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。(memcache只支持key-value值,不过即使支持的数据类型再多,本质还是没有区别的)

    3.redis支持数据的备份,即master-slave。(master-slave主仆模式:从一个Mysql instace【称之为Master】复制到另一个Mysql instance【称之Slave】)aof/快照恢复

    4.单线程请求,所有的命令串执行,并发情况下不需要考虑数据的一致性问题.

    5.执行pub/subscribe消息订阅机制,可以用来进行消息订阅与通知.

    6.支持简单的事务需求,但业界使用场景很少,并不成熟。

    redis的优势

    1.性能极高 --- Redis能读的速度是110000次/s,写的速度是81000次每秒,所以redis读的速度远大于写的速度。

    2.丰富的数据类型 ---Redis支持二进制案例的string,list,hash,sset及ordered ssets数据类型的操作。

    3.原子性 ---Redis的索引操作都是原子性的,意思就是要买成功要买失败完全不执行。

    4.丰富的特性 ---Redis还支持publish、subscribe等特性

    php使用redis

    安装redis扩展

    $wget https://github.com/phpredis/phpredis/archive/3.1.4.tar.gz

    $ cd phpredis-3.1.4 # 进入 phpredis 目录

    $ /usr/local/php/bin/phpize # php安装后的路径

    $ ./configure --with-php-config=/usr/local/php/bin/php-config

    $ make && make install

    修改php.ini文件

    vi /usr/local/php/lib/php.ini

    添加如下内容

    extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20090626"

    extension=redis.so

    重启php-fpm

    连接redis服务器

        <?php

    //连接本地的 Redis 服务 

    $redis = new Redis();  $redis->connect('127.0.0.1', 6379); 

    echo "Connection to server sucessfully";        //查看服务是否运行 

    echo "Server is running: " . $redis->ping();

    ?>

    结果:Connection to server sucessfullyServer is running: PONG

    redis php 字符串string实例

    <?php

      //连接本地的 Redis 服务 

    $redis = new Redis();  $redis->connect('127.0.0.1', 6379);

    echo "Connection to server sucessfully";  //设置 redis 字符串数据 

    $redis->set("tutorial-name", "Redis tutorial");  // 获取存储的数据并输出 

    echo "Stored string in redis:: " . $redis->get("tutorial-name");

    ?>

    执行结果:Connection to server sucessfullyStored string in redis:: Redis tutorial

    redis list(列表)实例

    $redis->lpush("tutorial-list", "Redis");//存储

    $redis->lrange('tutorial-list');//输出

    php keys实例

    $arList = $redis->keys("*");

    echo "Stored keys in redis:: ";

    print_r($arList);

    今天暂时就到这里....

    相关文章

      网友评论

        本文标题:Redis详解

        本文链接:https://www.haomeiwen.com/subject/klvmjftx.html