Redis简介和memcache区别

更多精彩内容redis常用知识点JefferyLcmRedis NoSQL数据库(version 3.0)MicoCubeRedis之主从集群环境搭建编辑小猿redis韩绝交同为分布式缓存,为何 Redis 更胜一筹?Python编程社区 · · 701 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

redis简介

redis(REmote DIctionary Server)是一个由Salvatore Sanfilippo写key-value存储系统,它由C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value类型的数据库,并提供多种语言的API。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步,redis在3.0版本推出集群模式。

特点、优势

k、v键值存储以及数据结构存储(如列表、字典)

所有数据(包括数据的存储)操作均在内存中完成

单线程服务(这意味着会有较多的阻塞情况),采用epoll模型进行请求响应,对比nginx

支持主从复制模式,更提供高可用主从复制模式(哨兵)

去中心化分布式集群

丰富的编程接口支持,如Python、Golang、Java、php、Ruby、Lua、Node.js 

功能丰富,除了支持多种数据结构之外,还支持事务、发布/订阅、消息队列等功能

支持数据持久化(AOF、RDB)

和MEMCACHE 区别

memcache是一个分布式的内存对象缓存系统,并不提供持久存储功能,而redis拥有持久化功能

memcache数据存储基于LRU(简单说:最近、最少使用key会被剔除),而redis则可以永久保存(服务一直运行情况下)

memcache是多线程的(这是memcache优势之一),也就意味着阻塞情况少,而redis是单线程的,阻塞情况相对较多

两者性能上相差不大

memcache只支持简单的k、v数据存储,而redis支持多种数据格式存储。

memcache是多线程、非阻塞IO复用网络模型,而redis是单线程IO复用模型

redis安装后可执行文件的作用

redis-server#Redis服务器和Sentinel服务器,启动时候可使用--sentinel指定为哨兵

redis-cli#Redis命令行客户端 

redis-benchmark#Redis性能测试工具 

redis-check-aof#AOF文件修复工具 

redis-check-dump#RDB文件检测工具 

redis-sentinel#Sentinel服务器,4.0版本已经做了软链接到redis-server


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:更多精彩内容redis常用知识点JefferyLcmRedis NoSQL数据库(version 3.0)MicoCubeRedis之主从集群环境搭建编辑小猿redis韩绝交同为分布式缓存,为何 Redis 更胜一筹?Python编程社区

查看原文:Redis简介和memcache区别

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

701 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传