1为什么Redis需要把所有数据放到内存中?

Redis为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘。所以Redis具有快速和数据持久化的特性。如果不将数据放到内存中,磁盘的I/O速度会严重影响redis的性能。在内存越来越便宜的今天,redis将会越来越受欢迎。如果设置了最大使用的内存,则数据已有记录数达到内存限值后将不能继续插入新值。

2 redis两种持久化策略

https://blog.csdn.net/u010785685/article/details/52366977

Redis为什么使用单进程单线程方式也这么快

http://www.cnblogs.com/syyong/p/6231326.html

4 Redis内存模型

https://blog.csdn.net/qq_26624661/article/details/79269740

5  使用Redis有哪些好处?

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

(2) 支持丰富数据类型,支持string,list,set,sorted set,hash

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

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

6 redis相比memcached有哪些优势?

(1) memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型

(2) redis的速度比memcached快很多

(3) redis可以持久化其数据

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

(1) Master最好不要做任何持久化工作,如RDB内存快照和AOF日志文件

(2) 如果数据比较重要,某个Slave开启AOF备份数据,策略设置为每秒同步一次

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

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

(5) 主从复制不要用图状结构,用单向链表结构更为稳定,即:Master <- Slave1 <- Slave2 <- Slave3...

这样的结构方便解决单点故障问题,实现Slave对Master的替换。如果Master挂了,可以立刻启用Slave1做Master,其他不变。

8 Redis的回收策略

    • volatile-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(驱逐):禁止驱逐数据

 9 redis lua脚本

https://www.cnblogs.com/wxgblogs/p/6850028.html

10 Redis中的批量操作Pipeline管道模型

    减少网络开销去执行多个命令

  满足原子性

 复用性

最新文章

  1. ssh无密码登录The authenticity of host &#39;localhost (::1)&#39; can&#39;t be established.
  2. 【bzoj1076】 SCOI2008—奖励关
  3. Wix 安装部署教程(七) 获取管理员权限
  4. 关于HTML面试题汇总之H5
  5. window 环境安装MongoDB
  6. MVC显示详细记录Without Entity Framework
  7. UVa12657 - Boxes in a Line(数组模拟链表)
  8. Serializable 序列化为字符串 base64
  9. oracle procedure存储过程(pl/sql)_使用declare cursor_begin end嵌套
  10. 值得推荐的C/C++框架和库 very good
  11. 强制IE浏览器或WebBrowser控件使用指定版本显示网页
  12. 如何不让oracle使用linux的swap分区
  13. 老李分享:robotium3.6与4.0 later 的区别 2
  14. WBS任务分解中前置任务闭环回路检测:有向图的简单应用(C#)
  15. day23单例模式 , 日志处理 , 项目结构目录
  16. Maven pom文件标签解析大全
  17. 基于Rabbit实现的RPC
  18. 第一节:WebApi的纯原生态的RestFul风格接口和路由规则介绍
  19. Solr版本问题分析
  20. PHP远程下载图片,微信头像存到本地,本地图片转base64

热门文章

  1. 无法加载程序集XXX.dll 此程序集可能是从 Web 上下载的
  2. SPEL 表达式解析
  3. redis--迁库操作
  4. iOS OC中桥接swift第三方库
  5. Struts2测试题
  6. 使用 go protoc --go_out 输出的 *.pb.go文件时报 undefined: proto.ProtoPackageIsVersion3
  7. Babel编译:类继承
  8. 深入理解java:1.3.2 JVM监控与调优
  9. HDU 1864 最大报销额 0-1背包
  10. adb 配置连接