Redis vs Memcached|Redis与Memcached的区别好处分析

  • 时间:
  • 浏览:123
  • 来源:恰卡网

Redis vs Memcached,Memcached和Redis都是成熟和非常受欢迎的Nosql数据库开源项目,想要了解Redis与Memcached哪一个更好用,就必须要了解一下Redis与Memcached的区别与好处都有哪些?

1:论Redis与Memcached的年代历史

Memcached最初由Brad Fitzpatrick于2003年为LiveJournal网站开发。从那以后,Memcached被重写为C(原来的实现是Perl)并放入公有领域,它已经成为现代Web应用程序的基石。目前Memcached的开发重点在于稳定性和优化,而不是增加新功能。

Redis由Salvatore Sanfilippo于2009年创建,Sanfilippo仍然是该项目的首席开发人员。Redis有时被描述为“Memcached on steroids”,考虑到Redis的部分内容是为了响应使用Memcached而获得的经验而建立的,这并不令人惊讶。Redis具有比Memcached更多的功能,因此功能更强大,更灵活。

2:Redis与Memcached的读写速度分析

由于Redis只使用单线程,而Memcached可以使用多线程,所以平均每一个核上Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis,虽然Redis最近也在存储大数据的性能上进行优化,但是比起Memcached,还是稍有逊色。

4:Redis与Memcached的安全性分析

虽然Memcached是多线程的,可以利用更多的计算机资源来轻松的扩展,但是redis也可以通过集群来扩展,补充了这个缺点,虽然维护麻烦点,但是更加安全,redis可以将数据持久化到本地磁盘中,而Memcached则不可以,一旦Memcached挂掉了,内存中的数据就会丢失。

5:Redis与Memcached数据存储的多样性分析

redis可以存储普通字符串,列表,集合,hash表,链表等结构的数据,并能轻松对数据进行排序等操作,而Memcached则只能存储普通字符串类型,并且不能进行这种操作。

6:Redis与Memcached的数据淘汰机制

Redis可以自动删除掉最近不常用的数据,以减少计算机内存的开销,包括这种机制之外,还有以下几种机制:

noeviction:默认策略,不淘汰,如果内存已满,添加数据是报错。

allkeys-lru:在所有键中,选取最近最少使用的数据抛弃。

volatile-lru:在设置了过期时间的所有键中,选取最近最少使用的数据抛弃。

allkeys-random: 在所有键中,随机抛弃。

volatile-random: 在设置了过期时间的所有键,随机抛弃。

volatile-ttl:在设置了过期时间的所有键,抛弃存活时间最短的数据。

而Memcached只有一种机制,就是删除掉最近不常用的数据。

猜你喜欢

老程序员推荐10个编程策略-程序员一代码搬运工

1.橡皮鸭debug法也许大家都有过这样的经历,那就是当你在和别人讨论问题时,突然就有了答案和别的想法,这是因为当你和别人一起讨论时会让你的大脑重新组织问题,这样的情况下,你的

2019-07-21

为什么做程序员?-程序员一代码搬运工

以前从没想过成为一个程序员。就这么一步步走过来了。回头看看也是挺有意思。我从小痴迷于生物,尤对动物感兴趣,异宠类更甚。看过很多生物的书籍,图册,特别喜欢法国昆虫学家法布尔的《昆

2019-07-21

Java程序员应当知道的面向对象设计原则-程序员一代码搬运工

面向对象设计原则是OOPS编程的核心,但我见过的大多数Java程序员热心于像Singleton(单例)、Decorator(装饰器)、Observer(观察者)等设计模式,而没

2019-07-21