1.知乎日报的基础数据和统计信息是用 Redis 存储的,这使得请求的平均响应时间能在 10ms 以下。
其他数据仍然需要存放在另外的地方,其实完全用 Redis 也是可行的,主要的考量是内存占用。
就使用经验而言,Redis 的数据结构很丰富,精心设计地话,能满足很多应用场景。至少很多时候比 MySQL 更方便
2.单独使用Redis的话,它是成当不起数据库的任务,比如你每日活跃用户是1万人,但是你那台redis里面已经积累了50万人了(这个比例很正常),那么每次redis启动,就需要把50万load内存,每次redis备份,又需要把50万dump到磁盘,这靠谱么?
把冷数据落地到mongo,热数据在用redis存储。

3.redis是目前公认的速度最快的基于内存的键值对数据库,但redis的缺点也非常明显,仅提供最基本的hash set, list, sorted set等基于数据类型,不分表,没有schema,没有索引,没有外键,缺少int/date等基本数据类型,多条件查询需要通过集合内联(sinter,zinterstore)和连接间接实现,操作不便,开发效率低,可维护性不佳; 因此一般不将其视为完整的数据库单独使用,很多网站将redis作为高速缓存和session状态存储层,然后再与其他数据库搭配使用。

4.核心业务建议数据还是落地到mysql,redis在异常情况下回丢数据。
非核心业务,比如运营推广,数据聚合统计这种允许数据少量丢失的业务可以全用mysql,扩展方便,效率高,业务量也不大。特别是运营推广这种时效性很强的业务,在推广结束后数据接没用了,Redis内存压力也不会很大。
mysql能支持对各个字段的查询,Redis的查询仅限于对key的简单匹配,如果要对value进行复杂查询,不适合用Redis。

5.目前redis做数据库还不太靠谱。它支持的数据类型太少,而且查询功能太弱。redis并不是为了作为数据库使用的,它更多地是一个高速存取器,一般用作缓存和类似场景。

6.redis是一种k/v的内存数据库,适合小数据量的存储以及实时要求高的地方,但是不适合做完整数据库,完整数据库基本上都有一套详细解决方案,比如mysql。
我们项目里用到的redis是用来做缓存的,设置过期时间,到时就自动清掉。数据库还是用mysql等这种成熟的方案。
如果你非要用一种nosql来做数据库,推荐你用Mongodb

7.redis能否做数据库用取决于如下几个条件:
1:数据量,毕竟内存数据库,还是受限于内存的容量,虽然可以redis可以持久化。
2:数据的结构,是否能够将关系型数据结构都转换为key/value的形式。
3:查询的效率,对范围查询等,是否能转换为高效的hash索引查询

8.MongoDB不是内存型数据库,他只不过把所有文件索引存到内存里而已。同样的机型,用MongoDB会比Redis存更多,但Redis响应更快。关键的是看量有多大。

9.MongoDB是nosql数据库,它支持把一部分热数据放到内存中,方便用户更快的去处理它。

Redis是内存型数据库,是完全的内存数据库!所有的数据都在内存,不存在硬盘一部分,内存一部分的情况。当然可以用save去存数据到硬盘,但这是为了备份安全性考虑而不是使用。

10.一个哈希实际上是一组键值对的集合,哈希本身的键是“父键”,哈希中包含的若干字段是“子键”,每个“子键”都有相应的值。“子键”之间并没有一定的联系,但是它们共同组成了一个完整的哈希结构。我们可以把一个哈希看做关系数据库中的一行,哈希的每个子键对应行的一个字段。因此,当把关系数据库中的数据缓存至Redis时,使用哈希结构可能会带来方便。需要注意的是,哈希结构内部的子键之间是没有顺序关系的。

11.Redis是一种内存数据库,这使其在数据存取效率方面表现突出。由于内存中的数据时刻面临丢失的危险,Redis提供了两种持久化机制,及时将内存中的数据写入硬盘。第一种机制为RDB,利用存储快照的方式把内存数据定期写入硬盘;第二种机制为AOF,利用写日志的方式,每执行一条更改Redis数据的命令,就在日志里附加上该命令并保存在硬盘上。Redis默认开启RDB模式,关闭AOF模式,这是因为AOF更加耗时。但是,如果对数据安全要求极高,无法承担任何数据丢失的后果,AOF模式就变成了持久化的首选。
当然,即使Redis具备持久化机制,但是一旦本地硬盘损坏,数据丢失依然在所难免。所以,Redis又提供了复制功能,作用是将一个主数据库(master)的数据自动同步到多个从数据库(slave),从而尽可能防止数据丢失。Redis主从机制可以简单描述为:从数据库启动后,先向主数据库发送SYNC命令;主数据库接到SYNC命令后就开始保存快照,在此期间,所有发给主数据库的命令都被缓存起来;快照保存完成后,主数据库把快照和缓存的命令一起发给从数据库;从数据库保存主数据库发来的快照文件,并依次执行主数据库发来的缓存命令。在同步过程中,从数据库不会阻塞,它默认使用同步之前的数据继续响应客户端发来的命令。

转载于:https://www.cnblogs.com/wan-wu-sheng/p/6994275.html

摘抄自知乎的redis相关相关推荐

  1. PHP连接redis并执行redis相关命令的方法详解

    PHP连接redis并执行redis相关命令的方法详解 连接redis库的方法 共性的运算归类 redis服务类函数 set 操作增删改查 List栈的结构,注意表头表尾,创建更新分开操作 Set,没 ...

  2. Spring中RedisTemplate方法中,redis相关操作笔记。[redis生成指定长度自增批次号,删除、设置过期时间等]

    Spring中RedisTemplate方法中,redis相关操作笔记. redis获取自增批次号 // opsForValue()生成long UUID = redisTemplate.opsFor ...

  3. 缓存数据库Redis相关介绍

    Redis 一.Redis相关介绍 二.如何保持session会话 三.nginx+tomcat+redis实现负载均衡.session共享 四.Redis基本操作命令 五.Redis持久化的实现方法 ...

  4. Redis相关命令及使用场景介绍

    1. Redis相关命令及使用 1.1 string 格式:(key:value) SET key value 添加一个key value 值(set 键 值) 127.0.0.1:6379> ...

  5. 14.Redis相关原理

    案例背景 Redis 属于单线程还是多线程?考察 Redis 的线程模型 案例分析 基本都知道 Redis 是单线程的,并且能说出 Redis 单线程的一些优缺点,比如,实现简单,可以在无锁的情况下完 ...

  6. 小李学知识之redis相关(含redis面试题)

    Redis相关学习 1. 简单介绍 2. redis缓存数据的流程 2.1 redis作为缓存的原因 3. redis的基本命令 4. redis支持的五种数据结构以及相关命令 4.1 String ...

  7. Redis 相关知识点

    Redis 相关知识点 概述 为什么要用缓存 为什么用redis 用redis缓存了哪些东西 单线程redis为什么这么快 redis的数据类型和使用场景 redis 的过期策略都有哪些?内存淘汰机制 ...

  8. redis相关知识点讲解,redis面试题

    redis相关知识点讲解,redis面试题 1. redis基本知识点 1.1 什么是redis? 1.2 redis的key的设计 1.3 redis的value数据类型有哪些? 1.3.1 str ...

  9. Redis相关漏洞记录

    不是很了解Redis数据库,粗浅学了一下Redis应该是以键值对的方式存储数据的 Redis默认端口:6379 Redis相关操作 连接远程服务器: redis-cli -h [目标IP] -p [端 ...

最新文章

  1. assign和always的使用
  2. google Guava包的ListenableFuture解析
  3. php 单元测试 静态类,可选的PHP类型提示/检查单元测试或静态分析?
  4. 查看UNIX/Linux资源占用的top命令
  5. WinSock API网络编程——TCP/IP协议详解
  6. 【网站】 简单通用微信QQ跳转浏览器打开代码
  7. AIOps中异常检测简的单应用
  8. [译]Go语言常用文件操作汇总
  9. map java 初始化赋值_Java 中 HashMap 初始化时赋值(示例代码)
  10. 2. 使用keras-神经网络来做线性回归问题
  11. 颜色是如何混合出来的
  12. 【Arduino】IIC 1602液晶屏显示
  13. 天牛须搜索算法优化神经网络_matlab代码
  14. 主体阶段钢筋工程、模板工程、混凝土、管线预埋施工要点都有哪些?
  15. 重磅消息:微信支付分最新开通方法!
  16. Translatium 19.2.1 中文版 优秀的在线翻译工具
  17. 【渝粤教育】广东开放大学 工程经济 形成性考核
  18. docker部署内网dns解析服务(coredns方案)
  19. 学习c/c++ 推荐学习什么书籍?
  20. 接班人不是克隆出来的:华为再显接班难

热门文章

  1. 【POJ - 3211】Washing Clothes (dp,0-1背包中点问题)
  2. *【Hihocoder - offer编程练习赛94 - A】最短管道距离(中位数)
  3. 【CodeForces - 124D】Squares (旋转坐标系,计算几何,思维)
  4. 操作表格_Excel表格基础操作-新手入门级
  5. 链表c语言stl,C++STL之List容器
  6. mysql瓶颈分析_网站瓶颈分析—MYSQL性能分析
  7. java用链表做学生系统_C语言链表实现学生管理系统
  8. 日期时间格式之间的相互转换
  9. Java 代码性能优化
  10. 四川省中职计算机考试题,四川省计算机等级考试模拟试题(一级)