4.存储方式及其它方面
Memcached基本只支持简单的key-value存储,不支持枚举,不支持持久化和复制等功能
Redis除key/value之外,还支持list,set,sorted set,hash等众多数据结构,提供了KEYS
进行枚举操作,但不能在线上使用,如果需要枚举线上数据,Redis提供了工具可以直接扫描其dump文件,枚举出所有数据 , Redis还同时提供了持久化和复制等功能 。
5.关于不同语言的客户端支持
在不同语言的客户端方面,Memcached和Redis都有丰富的第三方客户端可供选择,不过因为Memcached发展的时间更久一些,目
前看在客户端支持方面 , Memcached的很多客户端更加成熟稳定,而Redis由于其协议本身就比Memcached复杂 , 加上作者不断增加新的功能
等,对应第三方客户端跟进速度可能会赶不上,有时可能需要自己在第三方客户端基础上做些修改才能更好的使用 。
根据以上比较不难看出 , 当我们不希望数据被踢出,或者需要除key/value之外的更多数据类型时,或者需要落地功能时,使用Redis比使用Memcached更合适 。
关于Redis的一些周边功能
Redis除了作为存储之外还提供了一些其它方面的功能,比如聚合计算、pubsub、scripting等,对于此类功能需要了解其实现原
理,清楚地了解到它的局限性后,才能正确的使用,比如pubsub功能,这个实际是没有任何持久化支持的 , 消费方连接闪断或重连之间过来的消息是会全部丢
失的 , 又比如聚合计算和scripting等功能受Redis单线程模型所限,是不可能达到很高的吞吐量的,需要谨慎使用 。
总的来说Redis作者是一位非常勤奋的开发者 , 可以经常看到作者在尝试着各种不同的新鲜想法和思路,针对这些方面的功能就要求我们需要深入了解后再使用 。
总结:
1.Redis使用最佳方式是全部数据in-memory 。
2.Redis更多场景是作为Memcached的替代者来使用 。
3.当需要除key/value之外的更多数据类型支持时,使用Redis更合适 。
4.当存储的数据不能被剔除时,使用Redis更合适 。
谈谈Memcached与Redis(一)
1. Memcached简介
Memcached是以LiveJurnal旗下Danga Interactive公司的Bard
Fitzpatric为首开发的高性能分布式内存缓存服务器 。其本质上就是一个内存key-value数据库,但是不支持数据的持久化,服务器关闭之后数
据全部丢失 。Memcached使用C语言开发,在大多数像Linux、BSD和Solaris等POSIX系统上,只要安装了libevent即可使
用 。在Windows下,它也有一个可用的非官方版本() 。Memcached
的客户端软件实现非常多 , 包括C/C++, PHP, Java, Python, Ruby, Perl, Erlang,
Lua等 。当前Memcached使用广泛,除了LiveJournal以外还有Wikipedia、Flickr、Twitter、Youtube和
WordPress等 。
在Window系统下,Memcached的安装非常方便,只需从以上给出的地址下载可执行软件然后运行memcached.exe –d
install即可完成安装 。在Linux等系统下,我们首先需要安装libevent,然后从获取源码,makemake
install即可 。默认情况下,Memcached的服务器启动程序会安装到/usr/local/bin目录下 。在启动Memcached时,我们可
以为其配置不同的启动参数 。
1.1 Memcache配置
Memcached服务器在启动时需要对关键的参数进行配置,下面我们就看一看Memcached在启动时需要设定哪些关键参数以及这些参数的作用 。
1)-p num Memcached的TCP监听端口,缺省配置为11211;
2)-U num Memcached的UDP监听端口 , 缺省配置为11211 , 为0时表示关闭UDP监听;
3)-s file Memcached监听的UNIX套接字路径;
推荐阅读
- 怎样做淘宝视频直播带货,想要做淘宝直播怎么做
- python中计算四分位点的函数的简单介绍
- moba即时对战游戏,对战平台moba
- 益智游戏连线游戏教案,连线游戏幼儿
- vb.net计算时间间隔的简单介绍
- oracle配置数据源name,oracle配置数据源
- 电子竞技游戏不用视力要求,电子竞技真的不需要视力吗
- 即时战略单机游戏华为p50,即时战略手机单机游戏
- php表单获取数据过滤 php获取表格数据