你好,是我琉忆。
继周一(2019.2-18)发布的“PHP面试常考内容之Memcache和Redis(1)”后,这是第二篇,感谢你的支持和阅读。
本周(2019.2-18至2-22)的文章内容点为以下几点,更新时间为每周一三五,可以关注本栏持续关注,感谢你的支持。
二、Memcache有什么特征?
三、Memcache的内存管理机制是什么样的?
四、Memcache和Memcached有什么区别?
五、如何操作Memcache?
六、如何使用Memcache做Session共享?
七、什么是Redis?
八、如何使用Redis?
九、使用Redis需要注意哪些问题?
十、新增:Redis和Memcache有什么不同?
十一、新增:Redis如何实现持久化?
十二、Memcache和Redis常考的面试题
本章节的内容将会被分为三篇文章进行讲解完整块内容,第一篇主要讲解一到六,第二篇主要讲解七到十一(新增了十和十一),第三篇围绕第十二点。
以下正文的部分内容来自《PHP程序员面试笔试宝典》书籍,如果转载请保留出处:
七、什么是Redis?Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set,有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集、并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的排序。与Memcached一样,为了保证效率,数据都是缓存在内存中。区别是Redis会周期性地把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis的出现,很大程度上弥补了Memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Java、C/C++、C#、PHP、JavaScript、Perl、Object-C、Python、Ruby、Erlang等客户端,使用起来很方便。
Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意地对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。
八、如何使用Redis?set方法的使用示例:
<?php $Redis = new Redis(); $Redis->connect('127.0.0.1', 6378); $res = $Redis->set(aaa,"bbbb"); var_dump($res); //结果:bool(true) ?>