Redis

Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string、list、set、zset(有序集合)和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序和算法。
**

memcached

**

协议简单、基于libevent的事件处理、内置内存存储方式、memcached不互相通信的分布式。 各个memcached不会互相通信以共享信息,分布策略由客户端实现。不会对数据进行持久化,重启memcached、重启操作系统会导致全部数据消失。

Memcached常见的应用场景是存储一些读取频繁但更新较少的数据,如静态网页、系统配置及规则数据、活跃用户的基本数据和个性化定制数据、准实时统计信息等。

与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件(RDB和AOF两种方式),并且在此基础上实现了master-slave(主从)同步,机器重启后能通过持久化数据自动重建内存,使用Redis作为Cache时机器宕机后热点数据不会丢失。

Redis丰富的数据结构也使其拥有更加丰富的应用场景。Redis的命令都是原子性的,可以简单地利用INCR和DECR实现计数功能。使用list可以实现获取最近N个数的操作。sort set支持对数据排序,可以应用在排行榜中。set集合可以应用到数据排重。Redis还支持过期时间设置,可以应用到需要设定精确过期时间的应用。只要可以使用Redis支持的数据结构表示的场景,就可以使用Redis进行存储。

Redis基于乐观锁

为什么选择Redis?

1)Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash、String等数据结构的存储。
2)Redis支持master-slave(主-从)模式应用
3)Redis支持数据持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
4)Redis单个value的最大限制是1GB,memcached只能保存1MB的数据。

主要是从两个角度去考虑:性能和并发。当然,redis还具备可以做分布式锁等其他功能,但是如果只是为了分布式锁这些其他功能,完全还有其他中间件(如zookpeer等)代替,并不是非要使用redis。因此,这个问题主要从性能和并发两个角度去答。

什么是Redis?为什么使用Readis?相关推荐

  1. windows下开启 PHP扩展Redis

    Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set ...

  2. SpringBoot整合Redis入门

    Spring Boot 整合 Redis简单实现 下面就按照步骤来配置一个Spring Boot整合Redis的实现. 问题~!在创建User实体的时候为什么没有使用序列化接口? 这个问题在使用Red ...

  3. NoSQL之redis配置与优化(启示录)

    目录 一:关系型数据库和非关系型数据库概述 1.1关系型数据库 1.2非关系型数据库 二:关系型数据库和非关系型数据库的区别 2.1数据存储方式不同 2.2扩展方式不同 2.3对事务性的支持不同 2. ...

  4. tair和redis对比

    转自:https://blog.csdn.net/farphone/article/details/53522383 1. Tair总述 1.1 系统架构 一个Tair集群主要包括3个必选模块:con ...

  5. redis官方文档中文版_Partitioning : 怎么样将你的数据分布在多个redis instance上?

    本文转载自[url]http://skynetdoc.com/?p=119[/url] 本人顺便修正了一些文字上的复制粘贴小错误,以及更新了一些文字以和英文版保持一致. Partitioning 能够 ...

  6. redis 作用和应用场景等总结篇

    目录 一.什么是redis 二.应用场景 三.优点 四.redis持久化的几种方式 五.memecache和redis的区别 六.redis 常见的性能问题以及解决方案 七.redis 如何做内存优化 ...

  7. Spring AOP + Redis解决重复提交的问题

    Spring AOP + Redis解决重复提交的问题 用户在点击操作的时候,可能会连续点击多次,虽然前端可以通过设置按钮的disable的属性来控制按钮不可连续点击,但是如果别人拿到请求进行模拟,依 ...

  8. Redis问题——Error: 磁盘在使用中,或被另一个进程锁定。

    Redis出于对数据保护,默认只能本地客户端连接.远程连接就会出现以上错误.如何解决这一问题,看下: server -A,PC-A, 修改server-A的redis.conf:注释掉本地绑定: bi ...

  9. 实现 连续15签到记录_MySQL和Redis实现用户签到,你喜欢怎么实现?

    现在的网站和app开发中,签到是一个很常见的功能 如微博签到送积分,签到排行榜 微博签到 如移动app ,签到送流量等活动, 移动app签到 用户签到是提高用户粘性的有效手段,用的好能事半功倍! 下面 ...

最新文章

  1. 「珍藏」老司机为你推荐10个炫酷的开源库,看完的人都收藏了
  2. 工作流引擎在视频网站架构中的应用
  3. J2Cache 中使用 Lettuce 替代 Jedis 管理 Redis 连接
  4. BLE 配对流程(转自襄坤在线)
  5. 配置网络测试环境的批处理
  6. Sophos 修复严重的防火墙 RCE 漏洞
  7. ZebraDesigner-设计label
  8. 求陈敏老师所著的《OPNET物联网仿真》中的模型IOT_Simulation.rar,万分感谢!
  9. PhantomJS+Selenium+Scrapy抓取巨潮资讯网企业信息
  10. transformer系列论文-Sliced Recursive Transformer
  11. java后端生成图形验证码、前端接收并展示
  12. 设计师都在看的全球设计网站,你居然还不知道!
  13. 护眼台灯真的管用?全光谱led护眼灯到底值不值得入手
  14. HCIE-RS论述题QOS
  15. 乘积取中法matlab,遺傳算法(GA)的matlab實現
  16. CSR867x一拖多加密工具8670 8675
  17. 河南省计算机报名流程图,报考流程
  18. 数组,数组的定义,数组的注意事项
  19. 046 非常特别的一天
  20. GPS的相关指标的意思

热门文章

  1. PC微信逆向:实现自动保存加密的聊天图片
  2. HTML+CSS+JS网页设计期末课程大作业 web前端开发技术 web课程设计 网页规划与设计
  3. PHP环境、DW的站点设置
  4. C# 数组截取某一段的值
  5. 今日还有1款红包封面可以领了,记得定闹钟!
  6. 感恩节 | 致通信人,那个不为人知的自己
  7. 【网页设计】期末大作业:化妆品主题——绿色大气的html5响应式化妆品护肤品肌肤网页设计(11页)
  8. 汽车十大轮胎排名韩泰轮胎:这份秋冬季汽车轮胎挑选攻略请查收!
  9. dd命令打包多个文件_dd命令详解及实战应用
  10. java-web项目之jsp脚本访问mysql数据库