Redis和数据库的同步如何做?

  设置redis中数据的过期时间(登录信息)

  更新或修改数据库中数据的时候同时更新redis的 数据

  使用MQ更新缓存数据

Redis的好处?

  速度快:因为数据在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)

  支持丰富的数据类型,支持string、list、set、sorted set、hash

  支持事务:操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要不全不执行

  丰富的特性:可用于缓存,消息,按key设置过期时间,过期后会自动删除

Redis常见性能问题和解决方案:

  Master最好不要做任何持久化操作,如RD内存快照和AOF日志文件

  Master AOF持久化,如果不重写AOF文件,这个持久化方式对性能的影响是最小的,但是AOF文件会不断增大,AOF文件过大会影响Master重启的恢复速度。Master最好不要做任何持久化工作,包括内存快照和AOF日志文件,特别是不要启用内存快照做持久化,如果数据比较关键,某个Slave开启AOF备份数据,策略为每秒同步一次。

  Master调用BGREWRITEAOF重写AOF文件,AOF在重写的时候会占大量的CPU和内存资源,导致服务load过高,出现短暂服务暂停现象。

  为了主从复制的速度和连接的稳定性,Master和Slave最好在同一个局域网内

  尽量避免在压力很大的主库上增加从库

  主从复制不要用图状结构,用单向链表结构更为稳定,即:Master <- Slave1 <- Slave2 <- Slave3...这样的结构方便解决单点故障问题,实现Slave对Master的替换。如果Master挂了,可以立刻启用Slave1做Master,其他不变

MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据?

  相关知识:redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。redis 提供 6种数据淘汰策略:

  voltile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰

  volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰

  volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰

  allkeys-lru:从数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰

  allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰

  no-enviction(驱逐):禁止驱逐数据

Redis有时候会请求超时,已知都是固定的一个时间,比如200ms或者500ms,问这是为什么?

  请求redis超时,如果时间较长,比如60s或者75s这样的,可能是redis的timeout配置。目前是时间较短,200ms就超时,一般来说redis没道理在能处理请求的时候报超时错误,会否是现在超过了redis设置的最大连接数maxclients,导致拒绝服务;是否是client自身的连接超时设置。无论如何,CS模式的两端都有可能是原因

最新文章

  1. SSH加固
  2. [原创]java WEB学习笔记105:Spring学习---AOP介绍,相关概念,使用AOP,利用 方法签名 编写 AspectJ 切入点表达式
  3. [转]Android中Xposed框架篇—利用Xposed框架实现拦截系统方法
  4. vim常用命令(iOS)
  5. cocos2d ios 环境搭建
  6. JavaScript Patterns 2.10 Naming Conventions
  7. 用UNIX消息队列实现IPC(以ATM为例)
  8. Android:onNewIntent()触发机制及注意事项
  9. javascript回车完美实现tab切换功能
  10. C语言中fgetc、fputc和getc、putc的区别是什么
  11. 0R电阻作用
  12. [多线程同步练习]PV操作
  13. Table对象代表一个HTML表格,在文档中&lt;table&gt;标签每出现一次,一个table对象就会被创建。
  14. 在java代码中控制UI界面
  15. 原 TCP层的分段和IP层的分片之间的关系 &amp; MTU和MSS之间的关系
  16. Pandas初学者代码优化指南
  17. 【python】vscode python环境配置
  18. 剑指offer--41.扑克牌顺子
  19. 使用Unity创建依赖注入
  20. FPGA中的“门”

热门文章

  1. 你不知道的JavaScript(下卷) (Kyle Simpson 著)
  2. c# AddMonths,你了解吗?
  3. 【HI3520DV200】sample
  4. Scrapy 爬虫日志中出现Forbidden by robots.txt
  5. java 对象的创建
  6. ajaxFileupload 多文件上传
  7. RedHat6.5安装单机flume1.6
  8. Spring Http Invoker使用简介
  9. 前端之js-本地存储-localStorage &amp;&amp; IndexedDB
  10. idea14导入eclipse项目并部署运行完整步骤