首页 » PHP教程 » phpmemcached和redis技巧_常用缓存技能MemcachedRedis异同与应用场景选择

phpmemcached和redis技巧_常用缓存技能MemcachedRedis异同与应用场景选择

访客 2024-11-20 0

扫一扫用手机浏览

文章目录 [+]

缓存事情的原则是“引用的局部性”,这可以分为韶光局部性和空间局部性。
空间局部性是指CPU在某一时候须要某个数据,那么很可能下一步就须要其附近的数据;韶光局部性是指当某个数据被访问过一次之后,过不了多久韶光就会被再一次访问。
对付运用程序而言,不管是指令流还是数据流都会涌现引用的局部性征象。

在互联网运用中最广泛的两类缓存技能redis和memecache,下面讲述两者的异同与选择。

phpmemcached和redis技巧_常用缓存技能MemcachedRedis异同与应用场景选择

redis和memecache的异同与运用处景选择

没有必要过多的关注性能,你须要关注内存利用率。
对付key-value这样大略的数据储存,memcache的内存利用率更高。
如果采取hash构造,redis的内存利用率会更高。
当然,这些都依赖于详细的运用处景。

phpmemcached和redis技巧_常用缓存技能MemcachedRedis异同与应用场景选择
(图片来自网络侵删)

你须要关注关注数据持久化和主从复制时,只有redis拥有这两个特性。
如果你的目标是构建一个缓存在升级或者重启后之前的数据不会丢失的话,那也只能选择redis。

你该当关心你须要的操作。
redis支持很多繁芜的操作,乃至只考虑内存的利用情形,在一个单一操作里你常常可以做很多,而不须要将数据读取到客户端中(这样会须要很多的IO操作)。
这些繁芜的操作基本上和纯GET和POST操作一样快,以是你不但是须要GET/SET而是更多的操作时,redis会起很大的浸染。

对付两者的选择还是要看详细的运用处景,如果须要缓存的数据只是key-value这样大略的构造时还是采取memcache,它也足够的稳定可靠。
如果涉及到存储,排序等一系列繁芜的操作时,毫无疑问选择redis。

关于redis和memcache的不同,下面罗列了一些干系说法,供记录:

1、存储办法:

memecache 把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小

redis有部份存在硬盘上,这样能担保数据的持久性,支持数据的持久化。

2、数据支持类型:

redis在数据支持上要比memecache多的多。

3、利用底层模型不同:

新版本的redis直接自己构建了VM 机制 ,由于一样平常的系统调用系统函数的话,会摧残浪费蹂躏一定的韶光去移动和要求。

结论:有持久化需求或者对数据构造和处理有高等哀求的运用选择redis,其他大略的key/value存储,选择memcache。

Memcached

Memcached因此LiveJurnal旗下Danga Interactive公司开拓的高性能分布式内存缓存做事器。
实在质上便是一个内存key-value数据库,但是不支持数据的持久化,做事器关闭之后数据全部丢失。
Memcached利用C措辞开拓,在大多数像Linux、BSD和Solaris等POSIX系统上,只要安装了libevent即可利用。
在Windows下,它也有一个可用的非官方版本(http://code.jellycan.com/memcached/)。
Memcached 的客户端软件实现非常多,包括C/C++, PHP, Java, Python, Ruby, Perl, Erlang, Lua等。
当前Memcached利用广泛,除了LiveJournal以外还有Wikipedia、Flickr、Twitter、Youtube和 WordPress等。

Redis

Redis是一个开源的、广泛运用的Key/Value的内存数据库。
和Memcached类似,但是支持数据的持久化,办理了断电后数据完备丢失的情形。
而且它支持更多的类型,除了string外,还支持lists(链表)、sets(凑集)和zsets(有序凑集)几种数据类型。
Redis利用C措辞开拓,在大多数像Linux、BSD和Solaris等POSIX系统上无需任何外部依赖就可以利用。
Redis的官网为: http://redis.io/。
Redis的安装非常方便,只需从http://redis.io/download获取源码,然后make && make install即可。

当前Redis的运用已经非常广泛,海内像新浪、淘宝,国外像 Flickr、Github等均在利用Redis的缓存做事。

特殊解释

无论Redis、memcached都有云真个做事涌现,相对付原来的安装支配掩护,可以省去很多工程事情。
比如阿里的 云数据库 Memcache 版( ApsaraDB for Memcache )、云数据库 Redis 版,实在便是memcached和Redis的云做事版本。

标签:

相关文章

执业药师试卷代码解码药师职业发展之路

执业药师在药品质量管理、用药安全等方面发挥着越来越重要的作用。而执业药师考试,作为进入药师行业的重要门槛,其试卷代码更是成为了药师...

PHP教程 2025-02-18 阅读1 评论0

心灵代码主题曲唤醒灵魂深处的共鸣

音乐,作为一种独特的艺术形式,自古以来就承载着人类情感的表达与传递。心灵代码主题曲,以其独特的旋律和歌词,唤醒了无数人的灵魂深处,...

PHP教程 2025-02-18 阅读0 评论0

探寻福建各市车牌代码背后的文化内涵

福建省,地处我国东南沿海,拥有悠久的历史和丰富的文化底蕴。在这片充满魅力的土地上,诞生了许多具有代表性的城市,每个城市都有自己独特...

PHP教程 2025-02-18 阅读1 评论0

探寻河北唐山历史与现代交融的城市之光

河北省唐山市,一座地处渤海之滨,拥有悠久历史和独特文化的城市。这里既是古丝绸之路的起点,也是中国近代工业的发源地。如今,唐山正以崭...

PHP教程 2025-02-18 阅读1 评论0